Monday, May 26, 2008

JMagickで半透明の青いぼかしを重ね合わせる

JMagickで半透明の青いぼかしを重ね合わせるには、以下のコードを実行します。

import magick.*;

public class JMagickTest32
{
public static void main(String args[])
throws MagickException
{
MagickImage mi = new MagickImage(new ImageInfo("sample8.jpg"));
/* 画像を2値化 */
mi.thresholdImage(53000);
mi.setMatte(true);
/* 白色を透明に変換 */
mi.opaqueImage(
PixelPacket.queryColorDatabase("white"),
new PixelPacket(65535, 65535, 65535, 50000)
);
/* 黒色を半透明水色に変換 */
mi.opaqueImage(
PixelPacket.queryColorDatabase("black"),
new PixelPacket(0x44*256, 0x55*256, 0xff*256, 22767)
);
/* ぼかし */
MagickImage mi2 = mi.blurImageChannel(0xff/*=AllChannels*/,0, 4);

MagickImage mi3 = new MagickImage(new ImageInfo("sample8.jpg"));
mi3.compositeImage(CompositeOperator.SrcOverCompositeOp,mi2,0,0);

mi3.setFileName("sample460a.png");
mi3.writeImage(new ImageInfo());
}
}

元画像(sample8.jpg)


出力画像(sample460a.png)



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


関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)
ImageMagickで半透明の青いぼかしを重ね合わせる (Convertコマンドで似たような処理)

No comments: