Java - Reading in Image (IIOException: Can't create a ImageInputStream)



我正在使用数据驱动设计编写一款简单的游戏,其中我读取了游戏的各种元素的图像。因此,我编写了一个解析器来读取文件,确认它们是可接受的图像格式,并使用这些文件创建一个新的Sprite(我编写的类)。

我使用ImageIO.read()读取文件,如下例所示。

toAdd = new Sprite(ImageIO.read(targetFile));

异常的堆栈跟踪如下:

javax.imageio.IIOException: Can't create an ImageInputStream!
    at javax.imageio.ImageIO.read(ImageIO.java:1280)
    at edu.moravian.utilities.dataParsers.GraphicsDataParser.readInSprites(GraphicsDataParser.java:53)

我不知道是什么引起的。应用程序不是多线程的,图像在正确的目录中,并且被确认存在,并且我有访问图像所需的权限。

我可能错过了什么?

一个可能的原因可能是您正在阅读使用CMYK颜色模型的jpeg。ImageIO默认不支持这些

有可能添加该功能。例如,看看这个答案:https://stackoverflow.com/a/16149142/6276704

相关内容

最新更新