JAI的确是个不错的东东,图形渲染上提供了比较好的类封装以及跨平台性。不知道为何JAI就在2006年止步在1.1.3的版本下了,莫非Sun(Oracle)真的去做Java 2D的丰富去了。暂时还没有看到Java 2D方面的资料,先把JAI的内容贴出来。
下载JAI可以去这里 http://download.java.net/media/jai/builds/release/1_1_3/
想要了解它的安装,可以去这里查看各操作系统的安装方法 http://download.java.net/media/jai/builds/release/1_1_3/INSTALL.html
引了一段《Programming in Java Advanced Imaging》pdf中的一段代码。这篇pdf可以从这里下到 http://dlc.sun.com/pdf/806-5413-10/806-5413-10.pdf
import java.awt.Frame;
import java.awt.image.renderable.ParameterBlock;
import java.io.IOException;
import javax.media.jai.Interpolation;
import javax.media.jai.JAI;
import javax.media.jai.RenderedOp;
import javax.media.jai.widget.ScrollingImagePanel;
import com.sun.media.jai.codec.FileSeekableStream;
public class JAISampleProgram {
/**
* @param args
*/
public static void main(String[] args) {
if(args.length!=1){
System.out.println("Usage: java JAISampleProgram input image_filename");
System.exit(-1);
}
FileSeekableStream stream = null;
try {
stream = new FileSeekableStream(args[0]);
} catch (IOException e) {
e.printStackTrace();
System.exit(0);
}
RenderedOp image1=JAI.create("stream", stream);
Interpolation interp = Interpolation.getInstance(Interpolation.INTERP_BILINEAR);
ParameterBlock params = new ParameterBlock();
params.addSource(image1);
params.add(2.0F);
params.add(2.0F);
params.add(0.0F);
params.add(0.0F);
params.add(interp);
RenderedOp image2 = JAI.create("scale", params);
int width = image2.getWidth();
int height = image2.getHeight();
ScrollingImagePanel panel = new ScrollingImagePanel(image2,width,height);
Frame window = new Frame("JAI Sample Program");
window.add(panel);
window.pack();
window.show();
}
}
确实面向对象的封装比较好。
贴出来分享一下。