美文网首页
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