我想将2个jpeg图像编码为3页的TIFF文件。规格如下。
JPEG压缩,质量为图像1的35
图像1的CCITT压缩图像
图像2的CCITT压缩图像
我能够为以上3种类型生成单独的tiff文件。但是当我尝试将它们组合时,我必须进行一次压缩
param(`params.setCompression(TIFFEncodeParam.COMPRESSION_PACKBITS);`)
扩大了尺寸。
如何为不同的页面设置不同的压缩率?
最佳答案
在尝试使用JAI之后。我切换到icafe
BufferedImage[] images = new BufferedImage[3];
images[0]=compressedFront;
images[1]=frontBinaryImage;
images[2]=backBinaryImage;
ImageParam.ImageParamBuilder builder = ImageParam.getBuilder();
TIFFOptions tiffOptions = new TIFFOptions();
tiffOptions.setTiffCompression(Compression.JPG);
tiffOptions.setJPEGQuality(35);
ImageParam[] param = new ImageParam[3];
param[0] = builder.colorType(ImageColorType.GRAY_SCALE).imageOptions(tiffOptions).build();
tiffOptions = new TIFFOptions(tiffOptions); // Copy constructor
tiffOptions.setTiffCompression(Compression.CCITTFAX4);
param[1] = builder.colorType(ImageColorType.BILEVEL).imageOptions(tiffOptions).build();
tiffOptions = new TIFFOptions(tiffOptions);
tiffOptions.setTiffCompression(Compression.CCITTFAX4);
param[2] = builder.colorType(ImageColorType.BILEVEL).imageOptions(tiffOptions).build();
TIFFTweaker.writeMultipageTIFF(rout, param, images);
rout.close();
fout.close();