jdk中javax.imageio.ImageIO图片支持RGB模式,如果出现CMYK模式的图片就会出现如下错误:
javax.imageio.IIOException: Unsupported Image Type
1:引入com.twelvemonkeys.imageio中的包,针对类型引入。
2:以CMYK模式jpg的图片举例:
maven:
com.twelvemonkeys.imageio
imageio-jpeg
3.6
gradle
compile group: 'com.twelvemonkeys.imageio', name: 'imageio-tiff', version: '3.6'
imageio-core 关联的包会自动引入
3: ImageIO会自动查找相关的编解码类并使用只要把相关的jar包加入到类路径,正常使用jdk ImageIO或其上层的接口就行了。
4:验证引入是否成功或者查看ImageIO支持哪些编解码
比较引入的包前后支持的类型,打印支持类型代码
for (int i = 0; i < ImageIO.getReaderFormatNames().length; i++) {
System.out.println((i+1) + ":" + ImageIO.getReaderFormatNames()[i]);
}
其他类型的图片出现如上错误,我们也参照如上的方法找到对应的包引入即可。
com.twelvemonkeys.imageio
imageio-tiff
3.6
com.twelvemonkeys.imageio
imageio-bmp
3.6
com.twelvemonkeys.imageio
imageio-psd
3.6
com.twelvemonkeys.imageio
imageio-batik
3.6