我尝试使用 ImageIO.read() 读取 JPEG 文件,但对于此图像,它给了我一个 CMMException。阅读此内容后,我了解 ImageIO 无法读取某种 jpeg 文件。
所以我需要一个解决方案来阅读各种图像。JAI 库看起来是一个死库。而且我不理解 TwelveMonkeys 的工作原理。因此,如果有人对此有解释或其他选择,我会接受。谢谢
问问题
1253 次
1 回答
6
要读取大多数 JPEG(即使是那些导致CMMException
s 的),您可以使用 ImageIO 和 TwelveMonkeys ImageIO 插件。为此,请将以下依赖项添加到您的 Maven 项目中:
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-jpeg</artifactId>
<version>3.0</version>
如果您已经使用 ImageIO 读取图像,则无需更改代码。:-)
要验证插件是否已在运行时安装和使用,您可以使用以下代码:
Iterator<ImageReader> readers = ImageIO.getImageReadersByFormatName("JPEG");
while (readers.hasNext()) {
System.out.println("reader: " + readers.next());
}
第一行应打印:
reader: com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReader@somehash
于 2013-09-13T07:48:15.133 回答