【发布时间】:2011-05-02 03:38:30
【问题描述】:
好的,我有一张我正在尝试阅读的图片。问题是 Image.read(file) 返回 NULL。
File file = new File("C:\\images\\image1.jpg");
if(file.exists()){
System.out.println("Image file exists.");
BufferedImage originalImage = ImageIO.read(file);
}
所以图像存在,但 ImageIO.read(file) 返回 NULL。没有抛出错误什么都没有!!!怎么回事?
这是我迄今为止尝试过的:
- 好的,我的环境是 Windows 7。我 用其中一张图片进行了测试 带有 Windows 并且它能够 阅读图片。
- image1.jpg 由以下人创建 另一个系统。现在确定什么方法 他们正在使用。
- 我尝试将图像转换为 此处建议的 RGB link text 但失败并显示“不是 JPEG 文件:以 0x4d 0x4d 开头”。
- 图像扩展名为 .jpg,但 windows说它是JPEG类型?这 令人困惑。
有人可以帮忙吗?我是新手,不知道如何解决这个问题。
好的,我刚刚发现 ImageIO.getImageReaders(stream) 返回一个空的迭代器。这意味着它找不到合适的读者?我应该如何阅读这张图片?
【问题讨论】:
-
由于您的标签包含“applet”,我只想提一下,除非您正在编写一个用于从最终用户的磁盘上加载图像的小程序,否则您可能会在一个 URL 之后反而。此外,Windows 可能内置了大量用于处理无效图像的“魔法”。在值得信赖的图像编辑器中打开 JPG 并将其另存为新文件可能会有所帮助。这可能会纠正问题(假设它是无效图像)。
-
那些双斜线是干什么用的?
标签: java image swing image-processing applet