如何在java中检查给定图像是否为CMYK?

时间:2011-09-06 21:58:37

标签: java image image-processing image-manipulation

对于我的项目,我需要检测图像是否为CMYK。在jai中是否有任何课程,或者是否有其他可能有用的图书馆?

我尝试读取一个CMYK文件并显示它,但颜色搞砸了。

RenderedOp image1 = JAI.create("stream", stream);
ScrollingImagePanel panel = new ScrollingImagePanel(image1, image1.getWidth(), image1.getHeight());
JFrame window = new JFrame("JAI Sample Program");
window.add(panel);
window.pack();
window.show();

如果我尝试通过以下代码检测CMYK,它会考虑图像rgb:

if (image1.getColorModel().getColorSpace().getType()==ColorSpace.TYPE_CMYK) {
        System.out.println("CMYK");
} 
if (image1.getColorModel().getColorSpace().getType()==ColorSpace.TYPE_RGB) {
    System.out.println("RGB");
}

1 个答案:

答案 0 :(得分:2)

在我看来,你使用了错误的课程。这些是CMYK图像的: http://download.oracle.com/javase/1.3/docs/guide/2d/spec/j2d-color.fm2.html