import magick.*;
public class JMagickTest29
{
   public static void main(String args[])
       throws MagickException
   {
       /* 2値化した画像の黒色部分を水色に、白色部分を透明にする */
       MagickImage mi = new MagickImage(new ImageInfo("tree1.jpg"));
       /* 画像を2値化 */
       mi.thresholdImage(32767);
       /* 黒色を水色に変換 */
       mi.opaqueImage(
           PixelPacket.queryColorDatabase("black"),
           new PixelPacket(0xbb*256, 0xdd*256, 0xff*256, 0)
       );
       /* 白色を透明に変換 */
       mi.opaqueImage(
           PixelPacket.queryColorDatabase("white"),
           new PixelPacket(65535, 65535, 65535, 65535)
       );
       mi.setFileName("sample449a.png");
       mi.writeImage(new ImageInfo());
       /* 市松模様と重ね合わせ */
       ImageInfo ii = new ImageInfo("pattern:checkerboard");
       ii.setSize(mi.getDimension().getWidth() + "x" +
           mi.getDimension().getHeight());
       MagickImage mi2 = new MagickImage(ii);
       mi2.compositeImage(CompositeOperator.SrcOverCompositeOp,mi,0,0);
       mi2.setFileName("sample449b.png");
       mi2.writeImage(new ImageInfo());
   }
}
出力画像(sample229a.png)

出力画像(sample229b.png)

環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16
関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)
JMagickでビルトインパターンの画像を生成する
JMagickで画像を2値化する
No comments:
Post a Comment