美文网首页
Java 图片Exif 和 JFIF转 jpeg解决办法

Java 图片Exif 和 JFIF转 jpeg解决办法

作者: 消沉沉 | 来源:发表于2016-11-25 15:36 被阅读552次

今天公司报错如下:

  javax.imageio.IIOException: Invalid icc profile: found only empty markers 
原因:

查了stackoverflow这是因为JDK本身的一个BUG,转换出错。可以查看Orcale官网信息

解决:

这个Bug可以使用Oracle的一个Image扩展库,JAI(Java Advanced Imaging) 来解决。下载地址

步骤:

  • 下载对应文件
  • 拷贝三个文件:
    1. jai_codec.jar
    2. jai_core.jar
    3. mlibwrapper_jai.jar
  • 添加到你的ClassPath

代码:

SeekableStream seekableStream =newFileSeekableStream(file);
ParameterBlock pb =newParameterBlock();
pb.add(seekableStream);
BufferedImage image = JAI.create("jpeg",pb).getAsBufferedImage();

运行,Bug解决!

相关文章

网友评论

      本文标题:Java 图片Exif 和 JFIF转 jpeg解决办法

      本文链接:https://www.haomeiwen.com/subject/kpfwpttx.html