使用Java进行RGB TO CMYK转换

时间:2013-07-25 19:31:47

标签: java image itext rgb cmyk

我正在尝试使用Java将RGB图像转换为CMYK图像。 我看过这段代码:

BufferedImage rgbImage = ImageIO.read(new File("d:\\Temp\\IMG_1748x2480.jpg"));
BufferedImage cmykImage = null;
ColorSpace cpace = new ICC_ColorSpace(ICC_Profile.getInstance(
                   TestConvertRGBToCMYK.class.getClassLoader().getResourceAsStream(
                   "CMYK_Profiles/USWebCoatedSWOP.icc")));
ColorConvertOp op = new ColorConvertOp(rgbImage.getColorModel().getColorSpace(), cpace, null);
cmykImage = op.filter(rgbImage, null);    
ImageIO.write(cmykImage, "JPEG", new File("d:\\Temp\\CMYK_Sample_RGB_OUTPUT2.jpg"));

但问题是结果图像显示为黑色。 在阅读谷歌的观点(帖子)后,我已经读到这是正常的,因为视图与CMYK图像不兼容,但PDF视图是。但问题是如果我将图像放在PDF中,图像会继续显示为黑色。

有没有人知道发生了什么?或者是否有其他转换器可以实现更好的转换?

1 个答案:

答案 0 :(得分:0)

只是更新我的问题。

使用ImageMagick软件,我解决了所有问题。

干杯,

Bigster