import java.awt.*;
import magick.*;
public class JMagickTest37
{
  public static void main(String args[])
      throws MagickException
  {
      /* 元画像のサイズ取得 */
      MagickImage mi = new MagickImage(new ImageInfo("sf.jpg"));
      int iw = (int)mi.getDimension().getWidth();
      int ih = (int)mi.getDimension().getHeight();
      /* 半透明グラデーションを作成 */
      ImageInfo ii = new ImageInfo("gradient:#00000000-#ffffffff");
      ii.setSize(ih + "x" + iw);
      MagickImage mi2 = new MagickImage(ii);
      MagickImage mi3 = mi2.rotateImage(90);
      mi.compositeImage(CompositeOperator.CopyOpacityCompositeOp,mi3,0,0);
      /* 彩度をおとした画像を生成 */
      MagickImage mi4 = new MagickImage(new ImageInfo("sf.jpg"));
      mi4.modulateImage("100,10,100");
      mi4.compositeImage(CompositeOperator.SrcOverCompositeOp,mi,0,0);
      mi4.setFileName("sample473a.jpg");
      mi4.writeImage(new ImageInfo());
  }
}
元画像(sf.jpg)
出力画像(sample473a.jpg)

環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16
関連情報
JMagickまとめ
ImageMagickをJavaから使用するための設定(JMagickインストール)
ImageMagickで、上・下・左・右に徐々に彩度を落とす (Convertコマンドによる同様の処理)
 
No comments:
Post a Comment