Sunday, May 18, 2008

JMagickで画像をかたむける

JMagickで画像を傾けるには、以下のコードを実行します。

import magick.*;

public class JMagickTest22
{
public static void main(String args[])
throws MagickException
{
/* 画像をshearImageを使用して傾ける */
MagickImage mi = new MagickImage(new ImageInfo("sf.jpg"));
MagickImage mo1 = mi.shearImage(10, 0);
mo1.setFileName("sample442a.jpg");
mo1.writeImage(new ImageInfo());
/* 余白の色 */
mi.setBackgroundColor(new PixelPacket(0xbb*256, 0xdd*256, 0xff*256, 0));
MagickImage mo2 = mi.shearImage(0, 20);
mo2.setFileName("sample442b.jpg");
mo2.writeImage(new ImageInfo());
}
}

元画像(sf.jpg)


出力画像(sample442a.jpg)


出力画像(sample442b.jpg)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)

JMagickで画像のqualityを指定して保存する

Jmagickで画像のqualityを指定して保存するには、以下のコードを実行します。

import magick.*;

public class JMagickTest21
{
public static void main(String args[])
throws MagickException
{
/* 画像のqualityを指定 */
MagickImage mi = new MagickImage(new ImageInfo("sf.jpg"));
mi.setFileName("sample442a.jpg");
ImageInfo ii2 = new ImageInfo();
ii2.setQuality(10);
mi.writeImage(ii2);
}
}

元画像(sf.jpg)


出力画像(sample442.jpg)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)

JMagickで画像の大きさを変更する

JMagickで画像の大きさを変更するには、以下のコードを実行します。

import magick.*;

public class JMagickTest20
{
public static void main(String args[])
throws MagickException
{
/* 画像の大きさ変更 */
MagickImage mi = new MagickImage(new ImageInfo("sf.jpg"));
/* 200x100にリサイズ */
MagickImage mo1 = mi.scaleImage(200,100);
mo1.setFileName("sample441a.png");
mo1.writeImage(new ImageInfo());
/* 250x250にリサイズ */
MagickImage mo2 = mi.scaleImage(250,250);
mo2.setFileName("sample441b.png");
mo2.writeImage(new ImageInfo());
}
}

元画像(sf.jpg)


出力画像1(sample441a.png)


出力画像2(sample441b.png)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16



関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)

JMagickで画像を回転させる

JMagickで画像を回転させるには、以下のコードを実行します。

import magick.*;

public class JMagickTest19
{
public static void main(String args[])
throws MagickException
{
/* 画像を回転させる */
MagickImage mi = new MagickImage(new ImageInfo("sf.jpg"));
/* 回転後に生じる余白の色 */
mi.setBackgroundColor(new PixelPacket(0xbb*256, 0xdd*256, 0xff*256, 0));
MagickImage mo = mi.rotateImage(10);
mo.setFileName("sample440a.png");
mo.writeImage(new ImageInfo());
}
}

元画像(sf.jpg)


出力画像(sample440a.png)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)

JMagickで画像を上下・左右にスクロールさせる

JMagickで画像を上下・左右にスクロールさせるには、以下のコードを実行します。

import magick.*;

public class JMagickTest18
{
public static void main(String args[])
throws MagickException
{
/* 画像を上下・左右にスクロールさせる */
MagickImage mi = new MagickImage(new ImageInfo("sf.jpg"));
/* 右に50ピクセルスクロール */
MagickImage mo1 = mi.rollImage(50,0);
mo1.setFileName("sample439a.png");
mo1.writeImage(new ImageInfo());
/* 下に100ピクセルスクロール */
MagickImage mo2 = mi.rollImage(0,100);
mo2.setFileName("sample439b.png");
mo2.writeImage(new ImageInfo());
}
}

元画像(sf.jpg)


出力画像(sample439a.png)


出力画像(sample439b.png)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)

JMagickで画像をグレースケールに変換する

JMagickで画像をグレースケールに変換するには、以下のコードを実行します。

import magick.*;

public class JMagickTest17
{
public static void main(String args[])
throws MagickException
{
/* 画像をグレースケールにする */
MagickImage mi = new MagickImage(new ImageInfo("sf.jpg"));
QuantizeInfo qi = new QuantizeInfo();
qi.setColorspace(ColorspaceType.GRAYColorspace);
mi.quantizeImage(qi);
mi.setFileName("sample438a.png");
mi.writeImage(new ImageInfo());
}
}

元画像(sf.jpg)


出力画像(sample438a.png)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)

JMagickで画像を油絵調に変換する

JMagickで画像を油絵調に変換するには、以下のコードを実行します。

import magick.*;

public class JMagickTest16
{
public static void main(String args[])
throws MagickException
{
/* 画像を油絵調に変換する */
MagickImage mi = new MagickImage(new ImageInfo("sf.jpg"));
MagickImage mo = mi.oilPaintImage(3);
mo.setFileName("sample437a.png");
mo.writeImage(new ImageInfo());
}
}

元画像(sf.jpg)


出力画像(sample437a.png)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)

JMagickで画像の上下反転、左右反転をする

JMagickで画像の上下反転・左右反転をするには、以下のコードを実行します。

import magick.*;

public class JMagickTest15
{
public static void main(String args[])
throws MagickException
{
/* 画像を上下反転・左右反転する */
MagickImage mi = new MagickImage(new ImageInfo("sf.jpg"));
MagickImage mo1 = mi.flipImage();
mo1.setFileName("sample436a.png");
mo1.writeImage(new ImageInfo());
MagickImage mo2 = mi.flopImage();
mo2.setFileName("sample436b.png");
mo2.writeImage(new ImageInfo());
}
}

元画像(sf.jpg)


出力画像(sample436a.png)


出力画像(sample436b.png)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)

JMagickで、画像のエッジ抽出をする

JMagickで画像のエッジ抽出をするには、以下のコードを実行します。

import magick.*;

public class JMagickTest14
{
public static void main(String args[])
throws MagickException
{
/* 画像のエッジ抽出をする */
MagickImage mi = new MagickImage(new ImageInfo("sf.jpg"));
MagickImage mo = mi.edgeImage(1);
mo.setFileName("sample435a.png");
mo.writeImage(new ImageInfo());
}
}

元画像(sf.jpg)


出力画像(sample435a.png)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)

JMagickで画像の一部を四角に切り取る

JMagickで画像の一部を四角に切り取るには、以下のコードを実行します。

import java.awt.*;
import magick.*;

public class JMagickTest13
{
public static void main(String args[])
throws MagickException
{
/* 画像の一部を切り取る */
MagickImage mi = new MagickImage(new ImageInfo("sf.jpg"));
Rectangle rec = new Rectangle(100, 100, 90, 100);
MagickImage mo = mi.cropImage(rec);
mo.setFileName("sample434a.png");
mo.writeImage(new ImageInfo());
}
}

元画像(sf.jpg)


出力画像(sample434a.png)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)
JMagickで画像を丸く切り取る

JMagickで画像のコントラストを上げる

JMagickで画像のコントラストを上げるには、以下のコードを実行します。

import magick.*;

public class JMagickTest12
{
public static void main(String args[])
throws MagickException
{
/* 画像のコントラストをあげる */
MagickImage mi = new MagickImage(new ImageInfo("sf.jpg"));
mi.contrastImage(true);
mi.contrastImage(true);
mi.contrastImage(true);
mi.setFileName("sample433a.png");
mi.writeImage(new ImageInfo());
}
}

元画像(sf.jpg)


出力画像(sample433a.png)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)

JMagickで画像に色を着色する

JMagickで画像に色を着色するには、以下のコードを実行します。

import magick.*;

public class JMagickTest11
{
public static void main(String args[])
throws MagickException
{
/* 画像に指定の色を着色する */
MagickImage mi = new MagickImage(new ImageInfo("sf.jpg"));
MagickImage mo = mi.colorizeImage("50%", new PixelPacket(0xbb*256, 0xdd*256, 0xff*256, 0));
mo.setFileName("sample432a.png");
mo.writeImage(new ImageInfo());
}
}

元画像(sf.jpg)


出力画像(sample432a.png)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)

JMagickで画像を丸く切り取る

JMagickで画像を丸く切り取るには、以下のコードを実行します。

import magick.*;

public class JMagickTest10
{
public static void main(String args[])
throws MagickException
{
/* 画像を丸型に切り取る */

MagickImage mi = new MagickImage(new ImageInfo("sf.jpg"));
int w = (int)mi.getDimension().getWidth();
int h = (int)mi.getDimension().getHeight();

ImageInfo ii = new ImageInfo("xc:none");
ii.setSize(w + "x" + h);
DrawInfo di = new DrawInfo(ii);
di.setFill(PixelPacket.queryColorDatabase("white"));
di.setPrimitive("ellipse " + (w/2) + "," + (h/2) + "," + (w/2-1) + "," + (h/2-1) + ",0,360");
MagickImage mi2 = new MagickImage(ii);
mi2.drawImage(di);

mi2.compositeImage(CompositeOperator.SrcInCompositeOp,mi,0,0);
mi2.setFileName("sample431a.png");
mi2.writeImage(new ImageInfo());
}
}

元画像(sf.jpg)


出力画像(sample431a.png)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)
JMagickで画像を角丸四角に切り取る

JMagickで画像を切り落とす

JMagickで画像を切り落とすには、以下のコードを実行します。

import java.awt.*;
import magick.*;

public class JMagickTest9
{
public static void main(String args[])
throws MagickException
{
/* 画像を切り落とす */
MagickImage mi = new MagickImage(new ImageInfo("sf.jpg"));
/* 上50ピクセルを切り落とし */
Rectangle rec1 = new Rectangle(0, 50);
MagickImage mo1 = mi.chopImage(rec1);
mo1.setFileName("sample430a.jpg");
mo1.writeImage(new ImageInfo());
/* 右20ピクセル、下50ピクセルを切り落とし */
Rectangle rec2 = new Rectangle(
(int)mi.getDimension().getWidth()-20-1,
(int)mi.getDimension().getHeight()-50-1,
20,
50
);
MagickImage mo2 = mi.chopImage(rec2);
mo2.setFileName("sample430b.jpg");
mo2.writeImage(new ImageInfo());
}
}

元画像(sf.jpg)


出力画像(sample430a.jpg)


出力画像(sample430b.jpg)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)

JMagickで画像を木炭画調に変換する

JMagickで画像を木炭画調に変換するには以下のコードを実行します。

import magick.*;

public class JMagickTest8
{
public static void main(String args[])
throws MagickException
{
/* 画像を木炭画調に変換する */
MagickImage mi = new MagickImage(new ImageInfo("sf.jpg"));
MagickImage mo = mi.charcoalImage(1,3);
mo.setFileName("sample429a.jpg");
mo.writeImage(new ImageInfo());
}
}

元画像(sf.jpg)


出力画像(sample429a.jpg)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)

Saturday, May 17, 2008

JMagickで、画像に枠をつける

JMagickで画像に枠をつけるには以下のコードを実行します。

import java.awt.*;
import magick.*;

public class JMagickTest7
{
public static void main(String args[])
throws MagickException
{
/* 画像に枠をつける */
MagickImage mi = new MagickImage(new ImageInfo("sf.jpg"));
/* 枠のサイズ */
Rectangle rec = new Rectangle(20, 10);
/* 枠の色 */
mi.setBorderColor(new PixelPacket(0xbb*256, 0xdd*256, 0xff*256, 0));
MagickImage mo = mi.borderImage(rec);
mo.setFileName("sample428a.jpg");
mo.writeImage(new ImageInfo());
}
}

元画像(sf.jpg)


出力画像(sample428a.jpg)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)

JMagickで画像の上に文字列を描画する

JMagickで画像の上に文字列を描画するには、以下のコードを実行します。

import magick.*;

public class JMagickTest6
{
public static void main(String args[])
throws MagickException
{
/* 画像に文字列を描画する */
ImageInfo ii = new ImageInfo("sf.jpg");
DrawInfo di = new DrawInfo(ii);
/* フォント指定 */
di.setFont("c:\\winnt\\fonts\\msgothic.ttc");
/* ポイントサイズ指定 */
di.setPointsize(30);
/* 塗りつぶし色指定 */
di.setFill(new PixelPacket(0xbb*256, 0xdd*256, 0xff*256, 0));
/* Gravity設定 */
di.setGravity(GravityType.NorthWestGravity);
/* 位置指定 */
di.setGeometry("+20+20");
/* テキスト設定 */
di.setText("日本語");
MagickImage mi = new MagickImage(ii);
mi.annotateImage(di);
mi.setFileName("sample427a.jpg");
mi.writeImage(new ImageInfo());
}
}

元画像(sf.jpg)


出力画像(sample427a.jpg)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)

JMagickで、画像を重ね合わせる

JMagickで画像を重ね合わせるには以下のコードを実行します。

import magick.*;

public class JMagickTest5
{
public static void main(String args[])
throws MagickException
{
/* 画像を重ね合わせる */
MagickImage mi1 = new MagickImage(new ImageInfo("sf.jpg"));
MagickImage mi2 = new MagickImage(new ImageInfo("sample6.jpg"));
mi1.compositeImage(CompositeOperator.SrcOverCompositeOp,mi2,20,20);
mi1.setFileName("sample426a.jpg");
mi1.writeImage(new ImageInfo());
}
}

元画像1(sf.jpg)


元画像2(sample6.jpg)


出力画像(sample426a.jpg)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)
JMagickで画像を半透明にして重ね合わせる

JMgickで角丸四角を描画する

JMgickで角丸四角を描画するには、以下のコードを実行します。

import magick.*;

public class JMagickTest4
{
public static void main(String args[])
throws MagickException
{
/* 角丸四角を描画する */
ImageInfo ii = new ImageInfo("xc:white");
ii.setSize("200x200");
DrawInfo di = new DrawInfo(ii);
/*di.setFill(PixelPacket.queryColorDatabase("blue"));*/
di.setFill(new PixelPacket(0xbb*256, 0xdd*256, 0xff*256, 0));
di.setPrimitive("roundrectangle 0, 0, 199, 199, 20, 20");
MagickImage mi = new MagickImage(ii);
mi.drawImage(di);
mi.setFileName("sample425a.jpg");
mi.writeImage(new ImageInfo());
}
}

出力画像(sample425a.jpg)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)

Jmagickで、グラデーション画像を生成する

JMagickでグラデーション画像を生成するには、以下のコードを実行します。

import magick.*;

public class JMagickTest3
{
public static void main(String args[])
throws MagickException
{
/* グラデーション画像を作成 */
ImageInfo ii = new ImageInfo("gradient:#bbddff-#ffffff");
ii.setSize("100x100");
MagickImage mi = new MagickImage(ii);
mi.setFileName("sample424a.jpg");
mi.writeImage(new ImageInfo());
}
}

出力画像(sample423a.jpg)



環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)