_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。 无法压缩从上到下 DIB。

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

指定压缩的从下到上位图的压缩类型 (不能压缩自) 。 此成员可以是以下值之一。

说明
BI _ RGB 未压缩的格式。
BI _ BITFIELDS 指定位图不压缩,并且颜色表包含三个 DWORD 颜色掩码,分别指定每个像素的红色、绿色和蓝色分量。 与 16-bpp 和 32-bpp 位图一同使用时,这一点有效。 此值在 Microsoft Windows CE 2.0 及更高版本中有效。

biSizeImage

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

biXPelsPerMeter

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

biYPelsPerMeter

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

biClrUsed

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

biClrImportant

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

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

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

备注

此结构包含在 _ VIDEOINFOHEADER 结构中

要求

要求 Value
标头
Wmdm.idl

另请参阅

结构

_VIDEOINFOHEADER