【发布时间】:2014-05-09 09:34:06
【问题描述】:
我正在开发一个每隔一段时间重新加载图像的应用程序。 我这样做是为了可以在外部进行更改。我正在使用 ImageIO.read(path) 来读取图像文件。
现在,当我想用我的paint.NET 更改图像并尝试保存(覆盖)图像时,paint.NET 会引发 IOException。这可能是因为 ImageIO 只是在进程运行时声称该图像是他的。但这就是我的想法。
代码在这里:
public int width, height;
public int[] pixels;
public Sprite(String ref) {
try {
BufferedImage image = ImageIO.read(new FileInputStream(ref));
width = image.getWidth();
height = image.getHeight();
pixels = new int[width * height];
pixels = image.getRGB(0, 0, width, height, pixels, 0, width);
} catch (IOException e) {
e.printStackTrace();
}
}
有人知道如何解决这个问题吗?
谢谢!
【问题讨论】:
-
这些错误仅适用于 OS X 和 Linux 的 Java 7,似乎可能不相关。我认为这个问题的解决方案其实很简单,请看下面的答案。
-
ImageIO.read(new File(ref))工作,谢谢! -
ImageIO.read(new File(ref)) 对我不起作用,我在 osx 上
标签: java javax.imageio paint.net