Tiff compression using Java ImageIO

后端 未结 2 1638
抹茶落季
抹茶落季 2020-12-16 04:43

I am having issues converting a png to tiff. The conversion goes fine, but the image is huge. I think the issue is that I am not doing the compression correctly? Anyone h

相关标签:
2条回答
  • 2020-12-16 04:50

    I don't know Java IO, but generally you want to look at a few things

    1. Can you use JPEG compression instead of LZW?
    2. See how to set the TIFF strip size -- if small size is what you want, set it to the height of the image.

    Edit: Looks like a TiffWriteParam has the following methods

    tiffWriteParam.setTilingMode(ImageWriteParam.MODE_EXPLICIT);
    tiffWriteParam.setTiling(imageWidth, imageHeight, 0, 0);
    

    set the imageWidth and imageHeight vars to your image's size. The downside is that it will be slower to read out regions of the image.

    0 讨论(0)
  • 2020-12-16 05:03

    Writer.getDefaultWriteParam() only creates an ImageWriteParam object, it doesn't link it back to anything else.

    I don't see any mechanism in your code for your modified param object to be subsequently used in the ImageWriter.

    I believe that instead of:

    writer.write(bi);
    

    you need to use:

    writer.write(null, new IIOImage(bi, null, null), param);
    
    0 讨论(0)
提交回复
热议问题