My FAQ,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > Applets
用JAI扩展Java的图像处理能力
作者:未知 时间:2003-04-11 12:12 出处:互联网 责编:MyFAQ
              摘要:暂无
Java的图像处理能力不断地在增长,但是将一个如PNG或者JPEG格式的文件写入磁盘或从磁盘读取这样的操作仍然是一种巫术。解决方案是使用Java Advanced Imaging(JAI)API。JAI可以在Sun的Java网站下载,在JDK1.4的javax.imageio包里已经包括了它。


有针对Windows平台的exe格式的JAI安装文件可以下载, 但是没有针对UNIX和Linux的安装文件。尽管JAI可以在纯Java模式下运行,但它也为Windows、Linux、UNIX提供了本地库,使用它们可以提高运行速度。

下面的例子是安装在Apple机的OS X系统上的,因此我们选择了纯Java模式。为了安装JAI,你需要一个jai tar.gz文件。把三个重要的jar文件mlibwrapper_jar.jar、jar_codec.jar和jar_core.jar移到你的classpath环境变量指定的目录下。我们推荐把它们放到你的JDK的jre/lib/ext目录下。

实际上JAI是Java中的一个临时系统。这里只有一个名为JAI的顶层类和很少的几个辅助方法,而没有很多方法让人去学习。这些方法里的第一个参数是操作名,所以代码象这样:

src = JAI.create("fileload", .. );
JAI.create("extrema", src, ...);
JAI.create("histogram", src, ...);
这样的系统在使它与你自己的或者第三方的功能可以很容易结合在一起的同时也使得类型间的耦合更松散,这进而使得在这之下的开发更困难。

将一个AWT图形转换成一个PNG文件需要下列的代码片断:

import java.awt.Image;
import java.awt.image.renderable.ParameterBlock;

import javax.media.jai.JAI;
import javax.media.jai.PlanarImage;

.....

Image img = ....
OutputStream out = ....
ParameterBlock pb = new ParameterBlock().add(img);
PlanarImage src = (PlanarImage) JAI.create("awtImage", pb);
JAI.create("encode", src, out,"PNG", null);
以上的例子演示了两种给create方法传参数的方法,其中较新的方法是使用一个包含了所有参数的ParameterBlock,我们在对awtImage的操作中是这么做的。旧的方法使用的是一个重载的方法,它现在是deprecated(即被替代的旧方法,不推荐使用的)方法,但在这个例子中,我们为encode操作使用了它。

上面的代码会将一个图像按PNG格式编码并写到OutputStream中去。如果你想对JAI进行进一步的了解,我们强烈推荐你去读JAI指南。



关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有