我正在尝试将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以下管理我的新图像。我想如果我将Bit Depth控制为1本身就可以完成。
有任何解决方案有助于执行此操作吗?
答案 0 :(得分:1)
恕我直言,您应该使用Apache Commons Imaging,因为它是一种先进的完整成像解决方案。我用它来将Tiff
图像写入PDF。有很多examples。希望这会有所帮助!!