ImageIO:无法使用CMYK色彩空间读取图像

时间:2011-02-23 09:58:08

标签: java javax.imageio jai

我在阅读使用ImageMagick创建的特定jpeg图像(CMYK颜色空间)时遇到问题:

inputStream = new ByteArrayInputStream(bytesImage);
bufferedImage = ImageIO.read(inputStream); 
//IIOException : unsupported image type

我尝试使用JAI而不是ImageIO,但它仍然不起作用:

seekableStream = new ByteArraySeekableStream(bytesImage);
bufferedImage = JAI.create("Stream", seekableStream).getAsBufferedImage();
//Unable to render RenderedOp for this operation

有什么想法解决我的问题吗?

2 个答案:

答案 0 :(得分:2)

由于我发现我的图像有一个CMYK颜色空间,我在stackoverflow上找到了一个解决方案:Problem reading jpeg image using imageio

现在,问题在于我产生的图像的质量......深色变成白色......

答案 1 :(得分:2)

使用CMYK颜色读取JPEG图像在Java中相当棘手。但我发布了一个完整的解决方案here。它解决了暗色变白的问题。