ago*_*st_ 1 java javax.imageio
我尝试用ImageIO.read()读取一个JPEG文件但是对于这个图像,它给了我一个CMMException.后读这个和这个我理解的ImageIO不能读取某种JPEG文件.
所以我需要一个解决方案来阅读所有类型的图像.JAI库看起来像一个死库.我不undestrand如何 TwelveMonkeys工作.所以如果有人对它或其他替代方案进行解释,我会接受它.谢谢
要读取大多数JPEG(即使是那些导致CMMExceptions的JPEG ),您可以使用ImageIO和TwelveMonkeys ImageIO插件.为此,请将以下依赖项添加到Maven项目:
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-jpeg</artifactId>
<version>3.0</version>
Run Code Online (Sandbox Code Playgroud)
如果您已使用ImageIO读取图像,则无需更改代码.:-)
要验证插件是否在运行时安装和使用,您可以使用以下代码:
Iterator<ImageReader> readers = ImageIO.getImageReadersByFormatName("JPEG");
while (readers.hasNext()) {
System.out.println("reader: " + readers.next());
}
Run Code Online (Sandbox Code Playgroud)
第一行应该打印:
reader: com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReader@somehash
Run Code Online (Sandbox Code Playgroud)