资源描述:
《java图像处理必读的基础知识》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Java图像处理必读的基础知识API都是基于JDK6的,首先来看Java中如何组织一个图像对象BufferedImage的,如图:一个BufferedImage的像素数据储存在Raster中,ColorModel里面储存颜色空间,类型等信息,当前Java只支持一下三种图像格式-JPG,PNG,GIF,如何向让Java支持其它格式,首先要完成Java中的图像读写接口,然后打成jar,加上启动参数-Xbootclasspath/pnewimageformatIO.jar即可。 Java中如何读写一个图像文件,使用ImageIO对象即可。读图像文件的
2、代码如下:1Filefile=newFile("D:\test\blue_flower.jpg");2BufferedImageimage=ImageIO.read(file);写图像文件的代码如下:otherstaffoftheCentre.Duringthewar,ZhuwastransferredbacktoJiangxi,andDirectorofthenewOfficeinJingdezhen,JiangxiCommitteeSecretary.Startingin1939servedasrecorderoftheWestNort
3、hOrganization,SecretaryoftheSpecialCommitteeAfterthevictoryofthelongMarch,hehasbeentheNorthwestOfficeoftheFederationofStateenterprisesMinister,ShenmufuguSARmissions,DirectorofNingxiaCountypartyCommitteeSecretaryandrecorderoftheCountypartyCommitteeSecretary,Ministersand1Fileo
4、utputfile=newFile("saved.png");2ImageIO.write(bufferedImage,"png",outputfile);从BufferedImage对象中读取像素数据的代码如下:1inttype=image.getType();2if(type==BufferedImage.TYPE_INT_ARGB
5、
6、type==BufferedImage.TYPE_INT_RGB)3 return(int[])image.getRaster().getDataElements(x,y,width,height,p
7、ixels);4else5 returnimage.getRGB(x,y,width,height,pixels,0,width);首先获取图像类型,如果不是32位的INT型数据,直接读写RGB值即可,否则需要从Raster对象中读取。 往BufferedImage对象中写入像素数据同样遵守上面的规则。代码如下:1inttype=image.getType();2if(type==BufferedImage.TYPE_INT_ARGB
8、
9、type==BufferedImage.TYPE_INT_RGB)3 image.getRaste
10、r().setDataElements(x,y,width,height,pixels);4else5 image.setRGB(x,y,width,height,pixels,0,width);读取图像可能因为图像文件比较大,需要一定时间的等待才可以,JavaAdvanceImageProcessorAPI提供了MediaTracker对象来跟踪图像的加载,同步其它操作,使用方法如下:1MediaTrackertracker=newMediaTracker(this);//初始化对象2tracker.addImage(image_01,1
11、);//加入要跟踪的BufferedImage对象image_0013tracker.waitForID(1,10000)//等待10秒,让iamge_01图像加载从一个32位int型数据cARGB中读取图像RGB颜色值的代码如下:otherstaffoftheCentre.Duringthewar,ZhuwastransferredbacktoJiangxi,andDirectorofthenewOfficeinJingdezhen,JiangxiCommitteeSecretary.Startingin1939servedasrecorde
12、roftheWestNorthOrganization,SecretaryoftheSpecialCommitteeAfterthevictoryof