首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

cmyk图片转入rgb图片

2012-12-28 
cmyk图片转为rgb图片不久前在项目中遇到图片不能上传问题,debug跟踪到程序中javax.imageio.ImageIO.read(f

cmyk图片转为rgb图片
    不久前在项目中遇到图片不能上传问题,debug跟踪到程序中javax.imageio.ImageIO.read(fin)这句段代码报异常,经查是因为图片色彩空间为CMYK模式,这就需要先将图片转为rgb模式后处理。在网上搜了很多资料,最终发现一个解决的还算不错的方法,如果以上代码报异常,则在catch中做如下处理,将主要的处理类已经压缩成jar,可直接调用:
   

    ImageInputStream iis = new FileImageInputStream(new file(filePath));    ImageReader r = new CMYKJPEGImageReader(new CMYKJPEGImageReaderSpi());    r.setInput(iis);    String format = r.getFormatName();    if ("JPEG".equalsIgnoreCase(format) ||  "JPG".equalsIgnoreCase(format)) {         Image image = r.read(0);    }



    当然这些代码可能也有些问题,希望谁有更好的方法可以共享下。

    如果想自己研究,可参考:http://www.randelshofer.ch/blog/2011/08/reading-cmyk-jpeg-images-with-java-imageio/

热点排行