Thursday, July 17, 2008

Java2Dで画像をビデオ風にする

Java2Dで画像をビデオ風にするには、以下のコードを実行します。

import java.io.*;
import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import javax.imageio.*;

public class Java2DTest7
{
public static void main(String args[])
throws Exception
{
/* 画像をビデオ風に変換する */
BufferedImage img = ImageIO.read(new File("sf.jpg"));
WritableRaster wr = img.getRaster();

int buf[] = new int[wr.getNumDataElements()];

for(int ly=1;ly<wr.getHeight();ly+=2){
for(int lx=0;lx<wr.getWidth();lx++){
wr.getPixel(lx, ly, buf);
buf[0] = buf[0]/2;
buf[1] = buf[1]/2;
buf[2] = buf[2]/2;
wr.setPixel(lx, ly, buf);
}
}
ImageIO.write(img, "png", new File("sample502a.png"));
}
}

元画像(sf.jpg)


出力画像(sample502a.png)


環境
JDK6 Upadate6(JDK1.6.0_06)

関連項目
groovyで画像をビデオ風に加工する (groovyでの同様の処理)

No comments: