今天公司报错如下:
javax.imageio.IIOException: Invalid icc profile: found only empty markers
原因:
查了stackoverflow这是因为JDK本身的一个BUG,转换出错。可以查看Orcale官网信息
解决:
这个Bug可以使用Oracle的一个Image扩展库,JAI(Java Advanced Imaging) 来解决。下载地址
步骤:
- 下载对应文件
- 拷贝三个文件:
- jai_codec.jar
- jai_core.jar
- mlibwrapper_jai.jar
- 添加到你的ClassPath
代码:
SeekableStream seekableStream =newFileSeekableStream(file);
ParameterBlock pb =newParameterBlock();
pb.add(seekableStream);
BufferedImage image = JAI.create("jpeg",pb).getAsBufferedImage();
运行,Bug解决!
网友评论