对于有点模糊的标题道歉,我无法弄清楚关键字在这里是什么.设置非常简单,我打开图像
ImageIO.read(new File(filename));
Run Code Online (Sandbox Code Playgroud)
这适用于大多数文件,但是对于一个我得到的文件IllegalArgumentException with the detail: "numbers of source Raster bands and source color space components do not match".这个图像是通过wget在有效的Flickr URL上获得的,并且我使用了这种方式获得的其他图像,因此获取图像的方法原则上看起来很合理.我不确定导致异常的是什么.
一个解决方法将是可以接受的 - 我ImageIO特别不喜欢使用,并且图像在视觉上看起来很好.我只需要在没有Java吓坏的情况下阅读它!
这是有问题的图像,如果有任何用处:

当我尝试使用以下代码读取图像时
myPicture = ImageIO.read(new File("./src/javaassignment1b/Deck/Ace_Diamond_1.jpg"));
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
Numbers of source Raster bands and source color space components do not match
Run Code Online (Sandbox Code Playgroud)
关于研究,有一个类似的问题,它似乎是我的JPEG图像的问题(它是从一个更大的图片裁剪可能导致错误)和我必须解决灰度问题,我不知道它是什么关于或如何实施它.
注意:起初我尝试使用ImageIcon添加到JPanel但它无法工作因此我发现这个解决方案导致我当前的问题.我刚开始用Java编程.
编辑:这是图像的链接,我正在做一个Java应用程序
我需要一个替代方案来将图像添加到JPanel.