Friday, September 19, 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 Java2DTest34
{
public static void main(String args[])
throws Exception
{
/* 水面下のようなeffectをかける */
BufferedImage img = ImageIO.read(new File("sf2.jpg"));

SwimFilter sf = new SwimFilter();
/* swimの量 */
sf.setAmount(10f);
/* スケール */
sf.setScale(32f);
/* 引き伸ばし */
sf.setStretch(10f);
/* アングル */
sf.setAngle(10f/180f*ImageMath.PI);
/* 乱れ */
sf.setTurbulence(1f);
/* 時間 */
sf.setTime(0.1f);
BufferedImage img2 = sf.filter(img, null);
ImageIO.write(img2, "jpg", new File("sample565a.jpg"));
}
}

元画像(sf2.jpg)


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