【问题标题】:unable to read tiff with lzw compression for jai codec api无法使用 jai 编解码器 api 的 lzw 压缩读取 tiff
【发布时间】:2017-04-26 23:12:35
【问题描述】:

我无法使用具有 LZW 压缩技术的 jai 编解码器 API 读取 tiff 文件。

以下几行我用来渲染 tiff 图像。

PlanarImage pImage = new NullOpImage(renderedImage, null, null, OpImage.OP_IO_BOUND); firstImage = pImage.getAsBufferedImage();

例外情况如下。

java.lang.IllegalArgumentException: The input argument(s) may not be null.
at javax.media.jai.PlanarImage.wrapRenderedImage(PlanarImage.java:582)
at javax.media.jai.NullOpImage.<init>(NullOpImage.java:108)

java.lang.NullPointerException 在 com.sun.media.jai.codecimpl.TIFFLZWDecoder.addStringToTable(TIFFLZWDecoder.java:180) 在 com.sun.media.jai.codecimpl.TIFFLZWDecoder.decode(TIFFLZWDecoder.java:109) 在 com.sun.media.jai.codecimpl.TIFFImage.getTile(TIFFImage.java:1565) 在 javax.media.jai.RenderedImageAdapter.getTile(RenderedImageAdapter.java:156) 在 javax.media.jai.NullOpImage.computeTile(NullOpImage.java:170) 在 com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:912) 在 javax.media.jai.OpImage.getTile(OpImage.java:1139) 在 javax.media.jai.PlanarImage.copyData(PlanarImage.java:2356) 在 javax.media.jai.PlanarImage.getAsBufferedImage(PlanarImage.java:2538) 在 javax.media.jai.PlanarImage.getAsBufferedImage(PlanarImage.java:2559)

请给我建议。

【问题讨论】:

    标签: compression lzw


    【解决方案1】:

    我知道这是一个老问题,但希望这对未来的人有所帮助......我只能通过手动下载 JAI JAR 以及 libclib_jiio.so 来解决这个问题,在 https://github.com/roundwheel/photomosaic/tree/master/PhotoMosaicCore/lib/jai 找到,并且在我的项目 pom.xml 中直接引用这些 JAR:

        <dependency>
            <groupId>javax.media.jai</groupId>
            <artifactId>javax.media.jai.core</artifactId>
            <version>1.1.3</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/jai/jai_core.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>com.sun.media.jai</groupId>
            <artifactId>com.sun.media.jai.codec</artifactId>
            <version>1.1.3</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/jai/jai_codec.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>com.sun.media.imageio</groupId>
            <artifactId>com.sun.media.imageio</artifactId>
            <version>1.1</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/jai/jai_imageio.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>com.sun.media</groupId>
            <artifactId>clibwrapper_jiio</artifactId>
            <version>1.1</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/jai/clibwrapper_jiio.jar</systemPath>
        </dependency>
    

    问题似乎是 Maven 存储库中缺少 clibwrapper_jiio JAR(单击此处的“下载 JAR”https://mvnrepository.com/artifact/com.sun.media/clibwrapper_jiio/1.1)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-09
      • 1970-01-01
      • 2012-10-06
      • 1970-01-01
      相关资源
      最近更新 更多