Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查给定的图像在java中是否为CMYK?_Java_Image_Image Processing_Image Manipulation - Fatal编程技术网

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

如何检查给定的图像在java中是否为CMYK?,java,image,image-processing,image-manipulation,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("

对于我的项目,我需要检测图像是否为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");
}

在我看来,你用错了类。以下是支持CMYK图像的其他图像:

为什么第二个示例中的代码不能解决您的问题?因为我做了一个非常快速的测试,它可以识别RGB类型的图像,即使它是CMYK类型的图像。有人能提供一个真正的CMYK类型的图像来测试吗?@JiříAhoj。更新。