Tuesday, October 07, 2008

Java2DとJava Image Filters(pixels)を使用して炎のような画像を生成する

Java2DとJava Image Filters(pixels)を使用して炎のような画像を生成するには、以下のコードを実行します。

import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.io.*;
import java.util.*;
import javax.imageio.*;
import com.jhlabs.image.*;

public class Java2DTest50
{
public static void main(String args[])
throws Exception
{
/* FBMフィルタ */
BufferedImage img = new BufferedImage(
200, 200, BufferedImage.TYPE_INT_RGB
);

FBMFilter fbmf = new FBMFilter();
/* effect量 */
fbmf.setAmount(1f);
/* 操作タイプ */
fbmf.setOperation(FBMFilter.NOISE);
/* スケール */
fbmf.setScale(32);
/* 引き伸ばし率 */
fbmf.setStretch(1f);
/* 角度 */
fbmf.setAngle(10f/180f*ImageMath.PI);

/* カラーマップを作成&設定 */
ArrayColormap ac = new ArrayColormap();
ac.setColorRange(0, 100, 0x00000000, 0xffff8040);
ac.setColorRange(101, 200, 0xffff8040, 0xffffff60);
ac.setColorRange(201, 255, 0xffffff60, 0xffffffe0);
fbmf.setColormap(ac);

BufferedImage img2 = fbmf.filter(img, null);
ImageIO.write(img2, "jpg", new File("sample581a.jpg"));
}
}

出力画像(sample581a.jpg)


関連項目
Jerry Huxtableさんのホームページ
http://www.jhlabs.com/index.html
Java Image Filtersのページ
http://www.jhlabs.com/ip/filters/
java.netでのプロジェクトページ
https://pixels.dev.java.net/

No comments: