我正在尝试将 rgb 中的 jpeg 图像转换为 CMYK 颜色空间。唯一的问题是我的最终输出始终是黑色图像。但有趣的是,MAC 中的预览应用程序可以正确显示图像。到目前为止,似乎没有一个成功的 rgb 到 cmyk 转换的例子。下面是我用来尝试转换的代码。如果我使用 RGB ICC 配置文件执行到 rgb 的转换,此代码工作正常。非常感谢任何指导。
import javax.imageio.ImageIO;
public class TestClass {
public static void main(String[] args) throws Exception {
BufferedImage cmykImage = ImageIO.read(new File(
"CMYK_Sample.jpg"));
BufferedImage rgbImage = null;
ColorSpace cpace = new ICC_ColorSpace(ICC_Profile.getInstance(TestClass.class.getClassLoader().getResourceAsStream("icc/USWebCoatedSWOP.icc")));
ColorConvertOp op = new ColorConvertOp(cpace, null);
rgbImage = op.filter(cmykImage, null);
ImageIO.write(rgbImage, "JPEG", new File("CMYK_Sample_RGB_OUTPUT2.jpg"));
}
}