我尝试使用ImageIO.read()读取JPEG文件,但是为此image它给了我一个CMMException。读取this和this后,我了解ImageIO无法读取某种jpeg文件。
因此,我需要一种解决方案来读取所有类型的图像。 JAI库看起来像是一个失效的库。而且我也不会忘记TwelveMonkeys的工作方式。因此,如果有人对此有解释或其他替代方法,我将接受。谢谢
最佳答案
要读取大多数JPEG(甚至导致CMMException
的JPEG),可以使用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
关于java - 由于错误的JPEG,ImageIO给我一个CMMException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18767539/