JAI的确是个不错的东东,图形渲染上提供了比较好的类封装以及跨平台性。不知道为何JAI就在2006年止步在1.1.3的版本下了,莫非Sun(Oracle)真的去做Java 2D的丰富去了。暂时还没有看到Java 2D方面的资料,先把JAI的内容贴出来。

引了一段《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();

}

}

确实面向对象的封装比较好。

贴出来分享一下。

java advanced image_关于Java Advanced Imaging(JAI)的一点积累 | 学步园相关推荐

  1. 关于Java Advanced Imaging(JAI)的一点积累

    JAI的确是个不错的东东,图形渲染上提供了比较好的类封装以及跨平台性.不知道为何JAI就在2006年止步在1.1.3的版本下了,莫非Sun(Oracle)真的去做Java 2D的丰富去了.暂时还没有看 ...

  2. java调c++代码_Java中调用C++代码的实现 | 学步园

    JNI为  Java Native Interface 即Java本地接口,使用此种方式可以对C/C++代码进行调用,其在本质上是对C/C++生成的动态库进行调用而不是直接对C/C++代码进行调用 J ...

  3. java线程interrupt用法_Java线程中interrupt那点事 | 学步园

    1.先看一下例子程序: import java.io.IOException; import java.net.ServerSocket; import javax.rmi.CORBA.Tie; /* ...

  4. java配置jndi连接数_JavaWeb:Tomcat下配置数据源(JNDI)连接数据库 | 学步园

    ---------------------------------------------------------------------------------------------------- ...

  5. java httpget 设置参数_java 模拟HTTP doPost请求 设置参数 | 学步园

    请求模拟 package org.zlex.commons.net; import java.io.DataInputStream; import java.io.DataOutputStream; ...

  6. Java里氏转换_里氏代换原则、依赖倒转原则 | 学步园

    里氏代换原则 面向对象设计的重要原则是创建抽象化,并且从抽象化导出具体化,具体化也就是给出不同的实现. 继承关系就是一种从抽象化到具体化的导出. 里氏代换原则:如果对每一个类型为T1的对象o1,都有类 ...

  7. java实现魔方_闲来无事,用java写了一个魔方小程序。附源码 | 学步园

    闲来无事,用java写了一个魔方小程序.附源码 使用三维数组.相对来说还是简单.呵呵. import java.util.ArrayList; import java.util.List; impor ...

  8. java 校验文件类型_java如何判断一个文件的类型 | 学步园

    用文件头判断.直接读取文件的前几个字节. 常用文件的文件头如下: JPEG (jpg),文件头:FFD8FF PNG (png),文件头:89504E47 GIF (gif),文件头:47494638 ...

  9. java applet 文本框_Java Applet 文本框 TextField 小例 | 学步园

    一个Java Applet程序中必须有一个类是Applet类的子类,成为该子类是Java Applet的主类, 并且必须 是public class. Applet类是包java.applet中的一个 ...

最新文章

  1. linux --- 进程调度
  2. 【校招面试 之 C/C++】第15题 C 回调函数
  3. linux最初配置( vimrc设置 、tab键设置 inputrc、中文输入法等等)
  4. linux sed命令的常用方法
  5. 界址点号_界址点及四至优化
  6. 中断下半部机制-softirq-Tasklet-工作队列
  7. 他为华裔写了几封信......
  8. Spring Boot2.0之 原理—创建内置Tomcat容器
  9. (C++)wchar_t 转 string / TCHAR转为char/判断是否进程运行/获得目标进程的入口
  10. 基于Udp的Socket网络编程聊天程序
  11. 软件工程之需求说明书
  12. 蓝色配色灵感 | 解读蓝色
  13. iphone型号表_iPhone12各版本有什么区别 苹果12四款机型配置表一览
  14. android怎么监听多点触摸_android 手势监听和多点触摸 笔记
  15. 南阳oj入门题-阶乘因式分解(一)
  16. 1.27(Bomb Game)
  17. vue-amap的使用
  18. CodeForces 1389G Directing Edges 边联通分量缩点+树形dp+rerooting technique
  19. python模拟seo_百度统计原理分析-利用Python实现模拟访问
  20. Unity-音频播放

热门文章

  1. 通过物联网网关如何进行三菱PLC的远程程序上下载?
  2. 架构可细分为业务架构、应用架构、技术架构
  3. 四、GCJ02坐标系
  4. .关机助手,很好用的Windows桌面关机小工具(免费版)
  5. python爬取百度地图数据_Python利用百度地图爬取商家信息
  6. Android5.1.+ getRunningAppProcesses()获取运行中进程(第三方开源库)
  7. 无盘服务器虚拟盘内存不足,网吧技术 无盘虚拟内存正确设置分析
  8. 使用fontawesome字体
  9. Linux网络服务(中)FTP服务配置
  10. 惠普台式计算机配置,hp台式机bios设置方法