Java IllegalArgumentException:源光栅标注栏和源颜色空间组件的数量与彩色图像不匹配

Java IllegalArgumentException:源光栅标注栏和源颜色空间组件的数量与彩色图像不匹配,java,image-processing,Java,Image Processing,当我的应用程序试图使用ImageIO.read()方法读取JPG图像时,我遇到了这个异常。不会对所有jpg文件引发此异常 我发现这个答案很有用,但它仍然将我的彩色图像转换为黑白图像。我想这个问题的重点是正确的,但我希望它能让我的图像保持彩色(而不是黑白) 下载图片: 简单地说,如果有人能从给定的图像中获得一个BufferdImage,这就足够了(不应该将图像转换为灰度图像) 如果你能回答这个问题,你就是天才。 请帮忙 这通常是Java无法读取JPEG文件时出现的异常。虽然它们是标准兼容的JPEG

当我的应用程序试图使用ImageIO.read()方法读取JPG图像时,我遇到了这个异常。不会对所有jpg文件引发此异常

我发现这个答案很有用,但它仍然将我的彩色图像转换为黑白图像。我想这个问题的重点是正确的,但我希望它能让我的图像保持彩色(而不是黑白)

下载图片:

简单地说,如果有人能从给定的图像中获得一个BufferdImage,这就足够了(不应该将图像转换为灰度图像)

如果你能回答这个问题,你就是天才。
请帮忙

这通常是Java无法读取JPEG文件时出现的异常。虽然它们是标准兼容的JPEG,但Java并没有实现完整的标准。我建议在实际尝试用Java打开JPEG文件之前,先用ImageMagick、Irfanview或类似的东西转换JPEG文件


您可以使用,它可以处理大多数JPEG。

感谢Mathias的回复。我尝试了这个,但我无法从中获取BuffereImage对象。它只提供ToolKit图像。而且也不可能将ToolkitImage转换为BuffereImage。因此,如果您能建议一种将我的图像转换为BufferdImage对象的方法,那就太好了。再次非常感谢。