读书人

cmyk图片转入rgb图片

发布时间: 2012-12-28 10:29:05 作者: rapoo

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/

读书人网 >互联网

热点推荐