jai-imageio / jai-imageio-core

JAI ImageIO Core (without javax.media.jai dependencies)
Other
234 stars 87 forks source link

I merge the attached two tiff file into one tiff, but the target file is corrupted. #65

Open songshiliang07 opened 5 years ago

songshiliang07 commented 5 years ago

2011-XC1-00001-301.zip

The following code is: ImageWriter writer = ImageIO.getImageWritersByFormatName("TIFF").next(); ImageOutputStream output = ImageIO.createImageOutputStream(_file); writer.setOutput(output); writer.prepareWriteSequence(null); for (FileWrapper file : files) { ImageInputStream iis = ImageIO.createImageInputStream(file.file); ImageReader reader = ImageIO.getImageReaders(iis).next(); reader.setInput(iis); int numPages = reader.getNumImages(true); for (int i = 0; i < numPages; i++) { IIOImage iioImage = reader.readAll(i, null); writer.writeToSequence(iioImage, null); } reader.dispose(); iis.close(); } writer.endWriteSequence(); writer.dispose(); output.close();

songshiliang07 commented 5 years ago

When I try to open and read the target merged file, the exception happened. javax.imageio.IIOException: Quantization table 0x01 was not defined at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImage(Native Method) at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1247) at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:1050) at com.github.jaiimageio.impl.plugins.tiff.TIFFJPEGDecompressor.decodeRaw(TIFFJPEGDecompressor.java:226) at com.github.jaiimageio.plugins.tiff.TIFFDecompressor.decode(TIFFDecompressor.java:2583) at com.github.jaiimageio.impl.plugins.tiff.TIFFImageReader.decodeTile(TIFFImageReader.java:1144) at com.github.jaiimageio.impl.plugins.tiff.TIFFImageReader.read(TIFFImageReader.java:1414) at javax.imageio.ImageReader.readAll(ImageReader.java:1066)