报错信息为:
javax.imageio.IIOException: Unsupported Image Type
查看报错行的代码如下:
BufferedImage image = ImageIO.read(file);
其原因是所读取的图片色彩空间格式为CMYK,而可以处理的应该RGB。
java官方包“javax.imageio.ImageIO”不支持处理CMYK类型的图片。
这里我采用的方法是使用第三方包twelvemonkeys。使用起来非常简单,原先的代码完全不用修改,只需要在项目中引入依赖:
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-jpeg</artifactId>
<version>3.7.0</version>
</dependency>
上面是对jpeg的支持,如果需要处理其他类型的图片,可以参考如下地址:
https://github.com/haraldk/TwelveMonkeys
网友评论