java图像处理必读的基础知识_第1页
java图像处理必读的基础知识_第2页
java图像处理必读的基础知识_第3页
java图像处理必读的基础知识_第4页
java图像处理必读的基础知识_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java 图像处理必读的基础知识 API 都是基于 JDK6 的,首先来看 Java 中如何组织一个图像对象 BufferedImage 的,如图: 一个 BufferedImage 的像素数据储存在 Raster 中,ColorModel 里面储存颜色 空间,类型等 信息,当前 Java 只支持一下三种图像格式- JPG,PNG,GIF,如何向让 Java 支持 其它格式,首 先要 完成 Java 中的图像读写接口,然后打成 jar,加上启动参数- Xbootclasspath/p newimageformatIO.jar 即可。 Java 中如何读写一个图像文件,使用 ImageIO 对象即可。读图像文件的代码如 下: 1 File file = new File(“D:testblue_flower.jpg“); 2 BufferedImage image = ImageIO.read(file); 写图像文件的代码如下: 1 File outputfile = new File(“saved.png“); 2 ImageIO.write(bufferedImage, “png“,outputfile); 从 BufferedImage 对象中读取像素数据的代码如下: 1 int type= image.getType(); 2 if ( type =BufferedImage.TYPE_INT_ARGB | type = BufferedImage.TYPE_INT_RGB ) 3 return (int )image.getRaster().getDataElements(x, y, width, height, pixels ); 4 else 5 return image.getRGB( x, y, width, height, pixels, 0, width ); 首先获取图像类型,如果不是 32 位的 INT 型数据,直接读写 RGB 值即可,否则 需要从 Raster 对象中读取。 往 BufferedImage 对象中写入像素数据同样遵守上面的规则。代码如下: 1 int type= image.getType(); 2 if ( type =BufferedImage.TYPE_INT_ARGB | type = BufferedImage.TYPE_INT_RGB ) 3 image.getRaster().setDataElements(x, y, width, height, pixels ); 4 else 5 image.setRGB(x, y, width, height, pixels, 0, width ); 读取图像可能因为图像文件比较大,需要一定时间的等待才可以,Java Advance Image Processor API 提供了 MediaTracker 对象来跟踪图像的加载,同步其它操作, 使用方法如下: 1 MediaTracker tracker = new MediaTracker(this); /初始化对象 2 tracker.addImage(image_01, 1); / 加入要跟踪的 BufferedImage 对象image_001 3 tracker.waitForID(1, 10000) / 等待 10 秒,让 iamge_01 图像加载 从一个 32 位 int 型数据 cARGB 中读取图像 RGB 颜色值的代码如下: 1 int alpha = (cARGB 24) /透明度通道 2 int red = (cARGB 16) 3 int green = (cARGB 8) 4 int blue = cARG

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论