_BITMAPINFOHEADER 结构

_BITMAPINFOHEADER 结构定义视频帧的格式。

语法

typedef struct _tagBITMAPINFOHEADER {
  DWORD biSize;
  LONG  biWidth;
  LONG  biHeight;
  WORD  biPlanes;
  WORD  biBitCount;
  DWORD biCompression;
  DWORD biSizeImage;
  LONG  biXPelsPerMeter;
  LONG  biYPelsPerMeter;
  DWORD biClrUsed;
  DWORD biClrImportant;
} _BITMAPINFOHEADER;

成员

biSize

指定结构所需的字节数。

biWidth

指定位图的宽度(以像素为单位)。

biHeight

指定位图的高度(以像素为单位)。 如果 biHeight 为正值,则位图为自下而上的 DIB,其原点为左下角。 如果 biHeight 为负值,则位图为自上而下 DIB,其原点为左上角。 如果 biHeight 为负值(指示自上而下 DIB), 则 biCompression 必须是BI_RGB或BI_BITFIELDS。 无法压缩自上而下的 DDB。

biPlanes

指定目标设备的平面数。 此值必须设置为 1。

biBitCount

指定每像素的位数。 BITMAPINFOHEADER 结构的 biBitCount 成员确定定义每个像素的位数以及位图中颜色的最大数量。 此成员必须是以下值之一。

说明
1 位图是单色的,bmiColors 成员包含两个条目。 位图数组中的每个位表示一个像素。 如果位为清除位,则以 bmiColors 表中第一个条目的颜色显示像素;如果设置了位,则像素具有表中第二个条目的颜色。
2 位图有四个可能的颜色值。
4 位图最多包含 16 种颜色,bmiColors 成员最多包含 16 个条目。 位图中的每个像素都由颜色表中的 4 位索引表示。 例如,如果位图中的第一个字节0x1F,则字节表示两个像素。 第一个像素包含第二个表条目中的颜色,第二个像素包含第十六个表条目中的颜色。
8 位图最多包含 256 种颜色,bmiColors 成员最多包含 256 个条目。 在这种情况下,数组中的每个字节表示一个像素。
16 位图最多包含 2^16 种颜色。 如果 BITMAPINFOHEADER 的 biCompression 成员BI_RGB,则 bmiColors 成员为 NULL。 位图数组中的每个 WORD 表示单个像素。 红色、绿色和蓝色的相对强度为每个颜色分量用 5 位表示。 蓝色的值以最小有效 5 位表示,绿色和红色各有 5 位。 不使用最重要的位。 bmiColors 颜色表用于优化基于调色板的设备上使用的颜色,并且必须包含 biClrUsed 成员指定的条目数。
24 位图最多包含 2^24 种颜色,bmiColors 成员为 NULL。 位图数组中的每个 3 字节三元表示像素的蓝色、绿色和红色的相对强度。 bmiColors 颜色表用于优化基于调色板的设备上使用的颜色,并且必须包含 biClrUsed 成员指定的条目数。
32 位图最多包含 2^32 种颜色。 如果 biCompression 成员BI_RGB,则 bmiColors 成员为 NULL。 位图数组中的每个 DWORD 分别表示像素的蓝色、绿色和红色的相对强度。 不使用每个 DWORD 中的高字节。 bmiColors 颜色表用于优化基于调色板的设备上使用的颜色,并且必须包含 biClrUsed 成员指定的条目数。

biCompression

指定压缩的自下而上位图的压缩类型(无法压缩自上而下的 DIB)。 此成员可以是以下值之一。

说明
BI_RGB 未压缩的格式。
BI_BITFIELDS 指定位图未压缩,并且颜色表由三个 DWORD 颜色蒙板组成,分别指定每个像素的红色、绿色和蓝色分量。 这在与 16 bpp 位图和 32 bpp 位图一起使用时有效。 此值在 Microsoft Windows CE版本 2.0 及更高版本中有效。

biSizeImage

指定图像的大小(以字节为单位)。 对于BI_RGB位图,这可能设置为零。

biXPelsPerMeter

指定位图的目标设备的水平分辨率(以像素/米为单位)。 应用程序可以使用此值从资源组中选择与当前设备特征最匹配的位图。

biYPelsPerMeter

指定位图的目标设备的垂直分辨率(以每米像素为单位)。

biClrUsed

指定位图实际使用的颜色表中的颜色索引数。 如果此值为零,则位图使用与 biBitCount 成员的值相对应的最大颜色数,用于 biCompression 指定的压缩模式。

biClrImportant

指定显示位图所需的颜色索引数。 如果此值为零,则需要所有颜色。

如果 biClrUsed 为非零值且 biBitCount 成员小于 16,则 biClrUsed 成员指定图形引擎或设备驱动程序访问的实际颜色数。 如果 biBitCount 为 16 或更大,则 biClrUsed 成员指定用于优化系统调色板性能的颜色表的大小。 如果 biBitCount 等于 16 或 32,则最佳调色板紧跟在三个 DWORD 掩码之后开始。

如果位图是位图 (位图的打包位图,其中位图数组紧跟_BITMAPINFOHEADER结构,并由单个指针) 引用,则 biClrUsed 成员必须是零或颜色表的实际大小。

备注

此结构包含在 _VIDEOINFOHEADER 结构中。

要求

要求
标头
Wmdm.idl

另请参阅

结构

_VIDEOINFOHEADER