以下(简化)C#代码创建了一个多页面的tiff文件:
using System.Windows.Media.Imaging;
var tiffBitmapEncoder = new TiffBitmapEncoder();
using (var ms = new MemoryStream())
{
tiffBitmapEncoder.Compression = TiffCompressOption.Zip;
foreach (.....)
{
//Generate the image to add to tiff
.....
var bitmapSource = new BitmapImage(new Uri(.....));
tiffBitmapEncoder.Frames.Add(BitmapFrame.Create(bitmapSource));
}
tiffBitmapEncoder.Save(ms);
}
压缩似乎分别在每个帧/位图上完成。 因此,文件大小按帧/位图的数量线性增长。
有没有办法压缩整个tiff文件?
答案 0 :(得分:0)
有没有办法压缩整个tiff文件?
简答:不会。每张图像/瓷砖/条带都会压缩TIFF图像。
小字体:JPEG编码的TIFF文件可以共享表格,这可能比线性增长更好,但我认为这不是你想要的。
您当然可以创建未压缩的TIFF文件,并使用gz
,zip
或类似工具对其进行压缩。但是,它不再是TIFF文件。我怀疑它会比使用ZIP / Deflate + Predictor的TIFF更好地压缩。