用于检测CMYK图像的JAI ImageIO的纯Java替代品 首先我想解释导致问题的情况/要求:在我们的网络应用程序中,我们不能支持CMYK图像(JPEG),因为IE8及更低版本无法显示它们.因此,我们需要检测有人想要上传这样的图像并拒绝它.不幸的是,Java的ImageIO不会读取这些图像,也不会使我无法获取检测到的颜色空间.从调试看来,JPEGImageReader内部获取颜色空间代码11(这将意味着JCS_YCCK),但是我无法安全地访问该信息.当查询
java – RGB到CMYK和返回算法 我试图实现一个解决方案来计算RGB和CMYK之间的转换,反之亦然.这是我到目前为止解决方法正如LeaVerou所说,您应该使用颜色空间信息,因为没有从RGB映射到CMYK的算法.Adobe有一些ICC颜色配置文件可供下载1,但我不知道他们是如何获得许可的.一旦你有颜色配置文件,如下面的工作:
CMYK CMYK也称作印刷色彩模式,顾名思义就是用来印刷的。只要是在印刷品上看到的图像,就是CMYK模式表现的。比如期刊、杂志、报纸、宣传画等,都是印刷出来的,那么就是CMYK模式的了。和RGB类似,CMY是3种印刷油墨名称的首字母:青色Cyan、品红色magenta、黄色Yellow。但是由于目前制造工艺还不能造出高纯度的油墨,CMY相加的结果实际是一种暗红色。