Monday, October 13, 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 Java2DTest56
{
public static void main(String args[])
throws Exception
{
/* 万華鏡のような画像の生成 */
BufferedImage img = ImageIO.read(new File("sf2.jpg"));
KaleidoscopeFilter kf = new KaleidoscopeFilter();
/* 面数 */
kf.setSides(6);
/* 角度1 */
kf.setAngle(20f/180f*ImageMath.PI);
/* 角度2 */
kf.setAngle2(50f/180f*ImageMath.PI);
/* 中心X */
kf.setCentreX(0.5f);
/* 中心Y */
kf.setCentreY(0.5f);
/* 半径 */
kf.setRadius(100);
BufferedImage img2 = kf.filter(img, null);
ImageIO.write(img2, "jpg", new File("sample587a.jpg"));
}
}

元画像(sf2.jpg)


出力画像(sample587a.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: