我正在尝试将TIF图像转换为JPG图像。为此,我使用以下代码:

    SeekableStream s = new FileSeekableStream(tiffUrl);
    TIFFDecodeParam param = null;
    ImageDecoder dec = ImageCodec.createImageDecoder(EXT_TIFFX, s, param);
    RenderedImage op = dec.decodeAsRenderedImage(0);
    FileOutputStream fos = new FileOutputStream(jpgUrl);
    JPEGEncodeParam jpgparam = new JPEGEncodeParam();
    jpgparam.setQuality(quality);
    ImageEncoder en = ImageCodec.createImageEncoder(EXT_JEPGX, fos, jpgparam);
    en.encode(op);
    fos.flush();
    fos.close();
    s.close();

转换之前,我的图像大小约为92KB,位深度= 1
转换后,新的jpg图片大小约为1573KB,位深度= 24

我需要将新镜像管理在100KB以下。我想如果我将位深度控制为1本身就可以做到。

有什么解决方案可以帮助执行此操作吗?

最佳答案

恕我直言,您应该使用Apache Commons Imaging,因为它是一种先进而完整的镜像解决方案。我用它把Tiff图像写成PDF。有很多examples。希望这会有所帮助!

10-08 02:56