【问题标题】:ImageIO : cannot read image with CMYK color spaceImageIO : 无法读取具有 CMYK 颜色空间的图像
【发布时间】:2011-07-02 15:19:20
【问题描述】:

我在读取使用 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

有什么办法可以解决我的问题吗?

【问题讨论】:

  • 这个文件的数据是否存储在这个程序可以读取的磁盘上?
  • 是的,inputSteam 已正确填充。
  • @FranckJS:我不知道这是否仍然与您相关,但我已经发布了一个应该可以解决您的问题的答案。

标签: java javax.imageio jai


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-03-25
      • 1970-01-01
      • 2017-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多