使用Bitmap.Save()保存tiff文件会创建一个十倍大小的文件?

时间:2017-12-11 10:44:52

标签: c# bitmap tiff

我问自己,为什么我的原始tiff的大小增加(从992KB到9,42 MB),当我用Bitmap.Save()保存它时。问题出现了,因为我目前使用tiffs,修改它们等等。

我看到两个文件之间存在差异(除了文件大小)。

  1. 压缩。 originalTiff的详细信息中没有显示压缩。 savedTiff具有LZW压缩功能。
  2. 光度学解释。原始的Tiffs光度解释是YCbCR。 savedTiffs是RGB。
  3. 这些属性中的一个是十倍尺寸增加的原因吗?

    这是我使用的代码:

    function array_sub_sort(array $values, array $keys){
        $keys = array_flip($keys);
        return array_merge(array_intersect_key($keys, $values), array_intersect_key($values, $keys));
    }
    

    如果有什么不清楚或者我提供的信息太少,我很抱歉并且给你所要求的一切! 提前谢谢。

1 个答案:

答案 0 :(得分:1)

文件大小较大因为您没有指定压缩。 这样,文件将保存为未压缩的tif。

Bitmap类的save函数也重载了一个以EncoderParameters为参数的函数。这就是控制压缩的方法。

您可以在此处找到更多信息: MSDN documentation of Image.Save (The Bitmap Class implements Image)