不久前在项目中遇到图片不能上传问题,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/
分享到:
相关推荐
RGB图片转CMYK处理,使用ICC文件,采用原生方法
Converts cmyk color scale (tiff image) to rgb.
NULL 博文链接:https://1136051009.iteye.com/blog/1894239
小工具 可以简单的转换一下cmyk 到 rgb
内容:【ImageMagick-6.3.9-0-Q16-windows-dll.exe安装文件】【jmagick-win-6.3.9-Q16内有jar包和dll文件】【java代码示例】 用法: 1、先安装ImageMagick,重启电脑。 2、将jmagick.dll文件拷贝到JAVA_HOME\bin目录...
CMYK配色表RGB配色表CMYK配色表RGB配色表CMYK配色表RGB配色表CMYK配色表RGB配色表
rgb to cmyk converter for image processing tools
还在为ie无法显示cmyk格式的jpg图片烦恼吗。本代码完全完整cmyk转rgb 严格经过测试
iOS中将CMYK的颜色格式转换成RGB的方法封装
rgb cmyk
用Java语言实现RGB与CMYK色彩空间的转换-Java language RGB and CMYK color space conversion
java 实现cmyk转rgb,用ImageMagick转换需要额外安装软件,这个不需要安装额外软件
提供RGB与CMYK值之间的相互转换,文件很小,方便转换。
.net下的RGB图片转CMYK处理
CMYK RGB颜色转换器,展示一个用户界面的源代码。
易语言RGB_CMYK颜色值互换源码,RGB_CMYK颜色值互换,取最小值_,CMYK转RGB,RGB转CMYK,子程序1,HLS转RGB,取设备句柄,取鼠标位置,取颜色
Adobe的RGB与CMYK的色彩转换公式,适用于要求按照图示四色出图的朋友们。