【发布时间】:2017-08-03 02:41:26
【问题描述】:
我正在尝试将 JPEG 图像转换为 TIFF。转换后的 TIFF 图像大了三倍。
有人可以帮我获取原始 JPEG 大小的 TIFF 图像吗?
import com.sun.media.jai.codec.FileSeekableStream;
import com.sun.media.jai.codec.ImageCodec;
import com.sun.media.jai.codec.ImageDecoder;
import com.sun.media.jai.codec.ImageEncoder;
import com.sun.media.jai.codec.JPEGDecodeParam;
import com.sun.media.jai.codec.SeekableStream;
import com.sun.media.jai.codec.TIFFEncodeParam;
import java.io.FileOutputStream;
public class ConvertJPEGtoTIFF{
public static void main(String args[]) throws Exception{
// read input JPEG file
SeekableStream s = new FileSeekableStream("C:\\Testsmall\\Desert.jpg");
JPEGDecodeParam jpgparam = new JPEGDecodeParam();
ImageDecoder dec = ImageCodec.createImageDecoder("jpeg", s, jpgparam);
RenderedImage op = dec.decodeAsRenderedImage(0);
FileOutputStream fos = new FileOutputStream("C:\\Testsmall\\index33.tiff");
TIFFEncodeParam param = new TIFFEncodeParam();
ImageEncoder en = ImageCodec.createImageEncoder("tiff", fos, param);
en.encode(op);
fos.flush();
fos.close();
}
}
【问题讨论】:
-
这与各种格式压缩图像的方式有关。通常情况下,您会发现由于他们采用不同的方法,您很难获得可比的表现
-
TIFF 是一种非常开放的容器格式,可以通过多种不同的方式进行压缩和编码。您还可以在 TIFF 中使用 JPEG 压缩(尽管通常 TIFF 与无损压缩一起使用,它的压缩效果不如 JPEG 等有损压缩算法)。例如:stackoverflow.com/questions/6760524/jpeg-in-tiff-encoding
-
@ErwinBolwidt:是的,完全正确。我冒昧地将您的评论扩展为答案,希望您不要介意。
-
@sleske 没问题,谢谢。没有时间给出完整的答案。
标签: java jpeg tiff image-compression