我想将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();

09-26 13:57