- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
ImageIO.read 适用于我的大多数图像,但对于特定的 jpg 图像抛出此异常。
im = ImageIO.read(this.getClass().getResourceAsStream("plan3v2.jpg"));
此行抛出异常:
Exception in thread "main" java.awt.color.CMMException: LCMS error 12288
at sun.java2d.cmm.lcms.LCMS.getProfileData(Native Method)
at java.awt.color.ICC_Profile.getData(ICC_Profile.java:1310)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.setImageData(JPEGImageReader.java:652)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImageHeader(Native Method)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readNativeHeader(JPEGImageReader.java:593)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.checkTablesOnly(JPEGImageReader.java:338)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage(JPEGImageReader.java:470)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader(JPEGImageReader.java:586)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1004)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:984)
at javax.imageio.ImageIO.read(ImageIO.java:1438)
at javax.imageio.ImageIO.read(ImageIO.java:1342)
at TestClass.run(TestClass.java:13)
at TestClass.main(TestClass.java:8)
不确定错误“LCMS 错误 12288”的含义。
是否有任何替代 API 可以读取此类图像?
提前致谢。
最佳答案
您看到的“LCMS 错误”异常消息源自 LittleCMS 颜色管理模块,该模块首先在 OpenJDK 中引入,但现已在 Oracle JDK8 中取代了 KCMS(Sun 在其 Java 实现中使用的原始 Kodak CMM)。
假设图像与 this RedHat bug report 中引用的图像相同(它具有相同的文件名,并导致相同的异常),TwelveMonkeys ImageIO JPEGImageReader plugin可以阅读*。
图像中嵌入的 ICC 配置文件已损坏,因此我的读者会忽略它,但图像完全可读并且看起来仍然不错。
要使用该插件,只需将具有依赖关系的插件放置在类路径( see example )上。然后,您现有的代码应该像以前一样工作(没有异常(exception))。无需更改或重新编译任何内容。
<小时/>*) 我只在 OS X 上的 JDK 1.6 和 OpenJDK 7 以及 Windows 上的 JDK 7 和 8 上进行了测试,但这应该不重要。 :-)
关于java.awt.color.CMMException : LCMS error 12288,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24064065/
ImageIO.read 适用于我的大多数图像,但对于特定的 jpg 图像抛出此异常。 im = ImageIO.read(this.getClass().getResourceAsStream("p
我尝试使用 ImageIO.read() 读取 JPEG 文件,但对于这个 image它给了我一个 CMMException。看完后this和 this我知道 ImageIO 无法读取某种 jpeg
ImageIO.read(imagePath) 这个文件给出了一个 CMMException,为什么 Java 不能处理这个看似有效的文件 http://www.jthink.net/jaikoz/s
从数据库获取图像后,当我尝试调整它的大小时,通过使用以下代码传递宽度 public static BufferedImage resize(final byte[] pImageDat
我是一名优秀的程序员,十分优秀!