问题标签 [javax.imageio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
79310 浏览

java - 无法使用 ImageIO.read(文件文件)读取 JPEG 图像

我在使用 ImageIO.read(File file) 读取这个 JPEG 文件时遇到问题 - 它会引发异常,并显示消息“不支持的图像类型”。

我尝试过其他 JPEG 图像,它们似乎工作正常。

我能够发现的唯一区别是该文件似乎包含一个缩略图 - 是否已知会导致 ImageIO.read() 出现问题?

麻烦的图片

编辑:

添加了生成的图像:

奇怪的颜色

0 投票
3 回答
5785 浏览

java - Java/ImageIO 在读取整个文件之前验证格式?

我正在开发一个允许用户上传图像的 Web 应用程序。我关心的是文件的大小,特别是如果它们是无效格式。

我想知道在读取整个文件之前,java(或第三方库)是否有办法检查允许的文件格式(jpg、gif 和 png)。

0 投票
2 回答
1118 浏览

java - Java/Groovy 文件 IO 用自己的内容替换图像文件 - 为什么会这样?

我有一些 JPG 文件需要在运行时用自己的 JFIF 标准化版本替换(我们使用的供应商给我们的 JPG 没有正确的标题,因此它们在某些应用程序中不起作用)......我是能够从现有图像创建一个新文件,然后从该文件中获取一个缓冲图像并将内容直接写回文件中,而无需删除它并且它可以工作......

我的问题是为什么?为什么文件最终没有翻倍?为什么我不必先删除它?为什么我能够将文件对象放入现有文件,然后将其视为全新文件?似乎我认为是“文件”的东西并不是 java 中的 File 对象实际上是什么,否则这根本行不通。

我的代码完全符合我的要求,但我不相信它总是会......它看起来太容易了

0 投票
2 回答
621 浏览

java - 在 Java 中操作 PNG

有没有一种简单的方法可以在 Java 中操作 PNG?我知道我可以读入 BufferedImage 并将其写回,但我需要在图像边缘周围添加清晰的像素。是否有捷径可寻?

0 投票
1 回答
478 浏览

java - Imageiio 无法创建图像输入流

使用imageio.imageio.readiget 时无法创建ImageInputStream. 我有一个 catch 异常,所以程序可以存活,但我想知道是否有办法在它周围放置一个 if 语句,检查它是否失败,然后尝试再次读取它。基本上是问是否有异常测试?

0 投票
1 回答
11932 浏览

java - Java:检测图像格式、调整大小(缩放)并保存为 JPEG

这是我拥有的代码,它实际上可以工作,并不完美,但确实可以,问题是调整大小的缩略图没有粘贴在白色绘制的矩形上,破坏了图像的纵横比,这是代码,有人可以建议我修复请给它?

谢谢

0 投票
3 回答
1462 浏览

java - Java 1.5.0_16 保存 jpg 图像时颜色损坏

我有一个从磁盘加载的图像(存储为 a BufferedImage),我在 a 上正确显示,JPanel但是当我尝试使用下面的命令重新保存此图像时,图像以微红色调保存。

笔记!image 是一个BufferedImage并且fileName是一个File指向要保存的以“ .jpg”结尾的文件名的对象。

我已经读到ImageIO早期 JDK 中的方法存在问题,但据我所知,我不在其中一个版本上。我正在寻找的是一种在不更新 JDK 的情况下解决这个问题的方法,但是我说我仍然想知道这个问题是在什么 JDK 中修复的(如果它确实仍然是我正在使用的 JDK 的一个错误) )。

谢谢。

0 投票
1 回答
1781 浏览

java - 新 ImageIcon(url) 失败的错误消息

我尝试加载图像:

ImageIcon imageIcon = new ImageIcon(url);

如果我查询负载状态: imageIcon.getImageLoadStatus(); 它返回MediaTracker.ERRORED

有没有办法得到一条错误消息来说明问题所在?

0 投票
1 回答
438 浏览

java - GPU 上的内存大小分配 - opengl 纹理加载问题

我正在从 32 w x 32 高度的图像中加载像素。我加载它们的格式是通过java的ARGB。当我将它绑定到视频卡时,我可以预期视频卡可能会使用大约 32*32*4 字节或 4K 的大小。

同样,1024 w、1024 h 将是 1024*1024*4 = 4MB。

我的理解正确吗?现在我明白所有记忆都去哪儿了!

0 投票
3 回答
18937 浏览

java - 是否有 100% Java 替代 ImageIO 来读取 JPEG 文件?

我们正在使用 Java2D 调整上传到我们网站的照片的大小,但我们遇到了一个问题(一个看似旧的问题,参见: http: //forums.sun.com/thread.jspa?threadID=5425569) - 一些特殊的 JPEGCMMException当我们尝试ImageIO.read()包含其二进制数据的 InputStream时引发 a :

(截断堆栈跟踪的其余部分,即我们的ImageIO.read()调用、servlet 代码等)

我们将其缩小到使用特定相机拍摄的照片,我选择了一张触发此错误的照片:http: //img214.imageshack.us/img214/5121/estacaosp.jpg。我们注意到这只发生在 Sun 的 JVM 上(在 Linux 和 Mac 上,刚刚在 1.6.0_20 上进行了测试)——一台带有 OpenJDK 的测试机器可以顺利读取相同的照片,这可能是由于 JPEG 读取器的不同实现。

不幸的是,我们无法在生产环境中切换 JVM,也无法使用 ImageMagick ( http://www.imagemagick.org/ ) 等依赖于本机的解决方案。

考虑到这一点,我的问题是:是否存在可以处理链接照片等照片的 ImageIOs JPEG 阅读器的替代品?如果没有,我们可以使用另一种 100% 纯 Java 照片大小调整解决方案吗?

谢谢!