2016-04-22 23 views
0

Ich kann TIFF-Datei nicht lesen, indem Sie Jai Codec API verwenden, die LZW-Komprimierungstechnik hat.TIFF mit LZW-Komprimierung für Jai Codec Api nicht lesen

Die folgenden Zeilen verwende ich, um TIFF Bild zu rendern.

PlanarImage pImage = Neu NullOpImage (gerendertImage, null, null, OpImage.OP_IO_BOUND); firstImage = pImage.getAsBufferedImage();

Ausnahmen sind die folgenden.

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 bei com.sun.media.jai.codecimpl.TIFFLZWDecoder.addStringToTable (TIFFLZWDecoder.java:180) bei com.sun.media.jai.codecimpl.TIFFLZWDecoder.decode (TIFFLZWDecoder.java:109) bei com.sun.media.jai.codecimpl.TIFFImage.getTile (TIFFImage.java:1565) bei javax.media.jai.RenderedImageAdapter.getTile (RenderedImageAdapter.java:156) bei javax. media.jai.NullOpImage.computeTile (NullOpImage.java:170) bei com.sun.media.jai.util.SunTileScheduler.scheduleTile (SunTileScheduler.java:912) bei javax.media.jai.OpImage.getTile (OpImage. Java: 1139) bei javax.media.jai.PlanarImage.copyData (PlanarImage.java:2356) bei javax.media.jai.PlanarImage.getAsBufferedImage (PlanarImage.java:2538) bei javax.media.jai.PlanarImage.getAsBufferedImage (PlanarImage. java: 2559)

bitte schlagen Sie mir vor.

Antwort

0

Ich weiß, dass dies eine alte Frage ist, aber hoffentlich wird dies jemandem in der Zukunft helfen ... Ich konnte dieses Problem nur lösen, indem ich manuell die JAI JARs sowie libclib_jiio.so hier https://github.com/roundwheel/photomosaic/tree/master/PhotoMosaicCore/lib/jai heruntergeladen und referenziert habe diese JAR-Dateien direkt in meinem Projekt pom.xml:

<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> 

das Problem scheint zu sein, dass die clibwrapper_jiio JAR aus dem Maven Repository fehlt (klicken Sie auf "Download-JAR" hier https://mvnrepository.com/artifact/com.sun.media/clibwrapper_jiio/1.1).