我继承了一些接受 TIFF 文件并将其保存的代码,也是 TIFF 格式,但带有压缩。该代码使用System.Drawing.Imaging
命名空间中的类(而不是 say System.Windows.Media
)。
我了解获取压缩编码器,设置编码器参数等。但是我对下面的片段感到困惑。将原始图像保存为MemoryStream
BMP 格式,然后从 BMP 格式图像生成输出 TIFF:
using (var memStream = new MemoryStream())
{
image.Save(memStream, ImageFormat.Bmp);
memStream.Seek(0L, SeekOrigin.Begin);
using (var bmpImage = Image.FromStream(memStream))
{
bmpImage.Save(outputFile, tiffEncoder, encoderParams);
}
}
生成中间 BMP 格式图像并将其用作输出 TIFF 的基础的原因是什么?
更新:有问题的图像是线条艺术 - 即黑白 - 并且使用的压缩是“CC4”(CCITT Group 4)。
我想如果输入是 BMP 格式,CC4 压缩可能会更有效。但我认为从 TIFF 到 BMP 的中间转换会损失一些效率......