JAVA图像处理如果你对图像处理感兴趣,而且需要使用GIF、JPEG和PNG以外的其它图像格式,或者希望改善JPEG图像处理的性能但不知道到哪里寻找适当的方法,或者需要通过几何运算(包括非线性变换)来处理图像,不必再为此苦恼了,答案就在这里——来自Sun公司的Java高级图像处理API和JAI图像I/OAPI1.0RC。JAIAPI是JavaMediaAPI的一部分,与之相伴的还包括Java2DAPI、Java3DAPI、JavaSpeechAPI和其他一些API。Java高级图像处理API是作为Java规范请求(JSP)34的一部分而开发的,是对J2SEversion1.3+版的扩展,主要用于处理图像。最初发布的版本是1.0,JDC(JavaDeveloperConnection)提供了一个预览版1.1.2beta。(最新进展情况请查阅README.html文件。)与AWT和Java2D相比,JAIAPI提供了更丰富的图像处理,包括对许多通用图像操作的内在支持。不过本文的目的不是讨论JAIAPI,而是伴随这些API但分离到它自己的可安装库中的一组图像读写器(codec)类,即Java高级图像处理图像I/O工具1.0RC。该RC提供了可以插接到J2SE1.4的图像I/O框架上的一些功能。作为JSR-15一部分而开发的图像I/OAPI提供了一个支持不同图像格式的可插拔框架。标准J2SE1.4版本身支持GIF、JPEG和PNG图像格式,而JAI图像I/ORC则提供了更多主流图像格式的编码解码器。只要加上针对操作平台的适当版本,以前开发的应用程序就可以处理这些新的图像格式。要理解JAI图像I/O工具的使用,需要首先了解图像I/O库。在安装和介绍图像I/O工具包之前,我们先看一看图像I/O库。图像I/O库图像I/O库是J2SE1.4的标准API,放在javax.imageio包内。虽然这个包提供了两个接口和9个类,整个API实际上就是ImageIO类。通过这个类可以弄清读写所支持的图像格式并对这些图像进行读写,实际上这也就是整个API的全部内容。由于图像I/O库是一个可插拔的框架,所支持的图像格式集不是固定不变的。尽管随J2SE1.4发布了一些标准格式,但任何人都可以增加新的支持格式。要查看有哪些格式可用,可以使用下面的代码:importjavax.imageio.*;importjava.util.Arrays;publicclassGetFormats{publicstaticvoidmain(Stringargs[]){StringreadFormats[]=ImageIO.getReaderMIMETypes();StringwriteFormats[]=ImageIO.getWriterMIMETypes();System.out.println("Readers:"+Arrays.asList(readFormats));System.out.println("Writers:"+Arrays.asList(writeFormats));