Scala ImageIO.read(byteArrayInputStream) IllegalArgumentException:源光栅波段和源颜色空间分量的数量不匹配

问题描述 投票:0回答:1

我使用 ImageIo 直接读取

ByteArrayInputStream
但对于某些特定图像,我收到如下错误:

IllegalArgumentException: Numbers of source Raster bands and source color space components do not match

我不确定这里到底出了什么问题。

Image Causing the issue

我已经关注了SO中的一堆线程:

获取 BufferedImage 作为资源,以便它可以在 JAR 文件中工作

当我读取图像时,源光栅波段和源色彩空间分量的数量不匹配

IllegalArgumentException:源光栅波段和源颜色空间分量的数量不匹配对于彩色图像异常

但无法跟进代码中到底需要更改哪些内容来处理不适当的图像(在转换时会出现一些损坏的像素)。

编辑1:我以某种方式替换了机密内容,这是我正在尝试阅读的图像:https://i.imgur.com/r8vXYnB.jpeg

有人可以帮助我使用代码来修复这些图像错误吗?

javax.imageio
1个回答
0
投票

对我来说,问题是默认情况下

javax.ImageIO
不支持 JPEG。我在我的构建中添加了这个以使事情正常工作:

      // JPEG Support
      "com.twelvemonkeys.imageio" % "imageio-jpeg" % "3.9.3"

根据您可能拥有的图像类型,您可能需要添加更多此类扩展。

您可以在此自述文件中找到所有内容:https://github.com/haraldk/TwelveMonkeys/blob/master/README.md

© www.soinside.com 2019 - 2024. All rights reserved.