Windows和C之间的不同颜色深度#

时间:2015-03-04 09:54:33

标签: c# windows colors

我有一个灰度TIFF图像,Windows属性称其Bit-depth为4(这应该意味着它是4 BPP),但是当我在C#中打开图像作为位图时,pixelFormat属性表明它是Format8bppIndexed(8 BPP),改变像素格式的位图构造函数还是我误解了什么?

1 个答案:

答案 0 :(得分:1)

TIFF格式是一个容器(如ZIP)。一个TIFF文件可以包含包含不同文件/数据的各种帧。帧可以是位图。并且每个位图可以具有不同的pixelFormat。 TIFF文件可以(或可以)具有具有不同pixelFormat的预览位图。

要获得第一帧的实际像素格式,您可以使用它:

    Stream imageStreamSource = new FileStream("file.tif", FileMode.Open, FileAccess.Read, FileShare.Read);
    TiffBitmapDecoder decoder = new TiffBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
    BitmapSource bitmapSource = decoder.Frames[0];

    PixelFormat pixelFormat = bitmapSource.Format;