赞助商链接

本文“用JAI扩大Java的图象处理本领[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

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指南.

以上是“用JAI扩大Java的图象处理本领[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

java jai create 方法,b用JAI扩大Java的图象处理本领/b[Java编程]相关推荐

  1. java jai create 方法_使用JAI扩展Java Image的功能

    Java Image功能一直都在增强,但是向磁盘写一个图像文件或者返回一个PNG或JPEG依然比较难实现.但是我们可以使用Java Advanced Imaging(JAI)API来解决这个问题.JA ...

  2. java jai create 方法_Java-JAI创建似乎使文件描述符保持打开状态

    我有一些旧代码,直到最近仍在工作,但是现在看来已经讨厌了,因为它可以在使用OpenJDK 6而不是Java SE 6的新服务器上运行. 这个问题似乎与JAI.create有关.我有jpeg文件,可以缩 ...

  3. Java基础02 方法与数据成员

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在Java基础01 从HelloWorld到面向对象,我们初步了解了对象(obje ...

  4. java常量定义方法_Java常量定义方法汇总

    Java常量定义方法汇总 时间:2017-06-13     来源:华清远见JAVA学院 实际工作开发中,我们经常会使用到常量.那么Java常量如何定义呢?Java常量定义的规范是什么?定义Java常 ...

  5. Java 静态工厂方法详解

    Java 静态工厂方法详解 本文章主要是对<Effective Java>对静态工厂方法的理解 第一次使用静态工厂方法是在HIT<Software Construction>课 ...

  6. java的flush方法_Java中的BufferedWriter flush()方法及示例

    Java中buffered writer类的flush()方法用于刷新缓冲的writer流中的字符.语法:公共void flush()指定者:此方法由Flushable接口的flush()方法指定.重 ...

  7. 从几个sample来学习Java堆,方法区,Java栈和本地方法栈

    2019独角兽企业重金招聘Python工程师标准>>> 最近在看<深入理解Java虚拟机>,书中给了几个例子,比较好的说明了几种OOM(OutOfMemory)产生的过程 ...

  8. Java IOUtils.copy方法代码示例(亲测)

    本文整理汇总了Java中org.apache.commons.io.IOUtils.copy方法的典型用法代码示例.如果您正苦于以下问题:Java IOUtils.copy方法的具体用法?Java I ...

  9. OpenCV3 Java 机器学习使用方法汇总

    原文链接:OpenCV3 Java 机器学习使用方法汇总  前言 按道理来说,C++版本的OpenCV训练的版本XML文件,在java中可以无缝使用.但要注意OpenCV本身的版本问题.从2.4 到3 ...

最新文章

  1. Python fabric实现远程操作和部署
  2. Python3.5 学习十二 数据库介绍
  3. 前沿丨DeepMind提出神经元删除法:通过理解每个神经元来理解深度学习
  4. DM642图像平移程序学习
  5. ExecuteNonQuery() 返回值
  6. addcontorl error...viewstate relative
  7. MMDetection库部署和训练
  8. linux命令之awk终极系列
  9. Java-BufferReader中的readLine()方法
  10. 云桌面三大谎言之GPU虚拟化
  11. ASP.NET OAuth:解决refresh token无法刷新access token的问题
  12. 我靠ppt做兼职副业,1月还清2W贷款成功上岸!
  13. 初入职场的程序员,不想被时代淘汰?那你必须迈过这个坎!
  14. 南邮 | 算法分析与设计实验三:回溯法
  15. 三种方法求解Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1,当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
  16. 有没有集工作记录、项目时间线于一身的便签软件?
  17. 解决win7 x64系统下游戏日文乱码(crossdays)
  18. 常用可以下载书的网站
  19. 2020疫情经济盘点:二手经济化身新消费风口
  20. linux开机与关机步骤

热门文章

  1. 前端界扛把子|千锋前端入门到精通视频教程免费学习了
  2. 《第三次全国国土调查成果国家级核查方案》印发
  3. Go语言段子爬虫--捧腹网
  4. 挖煤小伙带你SSH安全加固
  5. C#项目实战——Windows计算器的制作【实例】
  6. 机器学习中的矩阵方法(附录A): 病态矩阵与条件数
  7. 2022就业环境以及市场分析,职业前景。
  8. 联想B460加装MU301
  9. OAuth网络协议(转)
  10. 可以查询天气的日历——QT制作第一个自己的小软件