Sunday, May 18, 2008

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で画像を角丸四角に切り取る

No comments: