_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
-
指定壓縮的由下而下點陣圖壓縮的類型, (無法壓縮由上而下之 DIB) 。 這個成員可以是下列其中一個值。
值 描述 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 結構內。
規格需求
需求 | 值 |
---|---|
標頭 |
|