_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 は圧縮できません。
-
複葉 機
-
ターゲット デバイスの平面の数を指定します。 この値は 1 に設定する必要があります。
-
biBitCount
-
ピクセルあたりのビット数を指定します。 BITMAPINFOHEADER 構造体の biBitCount メンバーは、各ピクセルを定義するビット数と、ビットマップ内の色の最大数を決定します。 このメンバーは、次のいずれかの値である必要があります。
値 説明 1 ビットマップはモノクロで、bmiColors メンバーには 2 つのエントリが含まれています。 ビットマップ配列内の各ビットはピクセルを表します。 ビットがクリアの場合、ピクセルは bmiColors テーブルの最初のエントリの色で表示されます。ビットが設定されている場合、ピクセルはテーブル内の 2 番目のエントリの色を持っています。 2 ビットマップには、4 つの可能な色値があります。 4 ビットマップの色は最大 16 色で、bmiColors メンバーには最大 16 個のエントリが含まれます。 ビットマップ内の各ピクセルは、カラー テーブルの 4 ビット インデックスで表されます。 たとえば、ビットマップの最初のバイトが0x1F場合、バイトは 2 つのピクセルを表します。 1 番目のピクセルには 2 番目のテーブル エントリの色が含まれており、2 番目のピクセルには 16 番目のテーブル エントリの色が含まれています。 8 ビットマップの色は最大 256 色で、bmiColors メンバーには最大 256 個のエントリが含まれています。 この場合、配列内の各バイトは 1 ピクセルを表します。 16 ビットマップの色は最大 2^16 です。 BITMAPINFOHEADER の biCompression メンバーがBI_RGB場合、bmiColors メンバーは NULL になります。 ビットマップ配列内の各 WORD は、1 つのピクセルを表します。 赤、緑、青の相対的な強度は、色成分ごとに 5 ビットで表されます。 blue の値は、最下位の 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 ビットマップが圧縮されていないこと、およびカラー テーブルが、各ピクセルの赤、緑、青の各コンポーネントを指定する 3 つの DWORD カラー マスクで構成されることを指定します。 これは、16-bpp および 32-bpp ビットマップで使用する場合に有効です。 この値は、Microsoft Windows CE バージョン 2.0 以降で有効です。 -
biSizeImage
-
イメージのサイズをバイト単位で指定します。 これは、BI_RGBビットマップの場合は 0 に設定できます。
-
biXPelsPerMeter
-
ビットマップのターゲット デバイスの水平方向の解像度を 1 メートルあたりのピクセル単位で指定します。 アプリケーションでは、この値を使用して、現在のデバイスの特性に最も一致するビットマップをリソース グループから選択できます。
-
biYPelsPerMeter
-
ビットマップのターゲット デバイスの垂直方向の解像度をピクセル単位で指定します。
-
biClrUsed
-
ビットマップで実際に使用されるカラー テーブル内のカラー インデックスの数を指定します。 この値が 0 の場合、ビットマップは、biCompression で指定された圧縮モードの biBitCount メンバーの値に対応する色の最大数を使用します。
-
biClrImportant
-
ビットマップを表示するために必要な色インデックスの数を指定します。 この値が 0 の場合は、すべての色が必要です。
biClrUsed が 0 以外で、biBitCount メンバーが 16 未満の場合、biClrUsed メンバーはグラフィックス エンジンまたはデバイス ドライバーがアクセスする色の実際の数を指定します。 biBitCount が 16 以上の場合、biClrUsed メンバーは、システム カラー パレットのパフォーマンスを最適化するために使用されるカラー テーブルのサイズを指定します。 biBitCount が 16 または 32 の場合、3 つの DWORD マスクの直後に最適なカラー パレットが開始されます。
ビットマップがパックされたビットマップ (ビットマップ配列が_BITMAPINFOHEADER構造体の直後にあり、1 つのポインターによって参照されるビットマップ) の場合、biClrUsed メンバーは 0 またはカラー テーブルの実際のサイズである必要があります。
注釈
この構造体は、_VIDEOINFOHEADER構造体内 に 含まれています。
要件
要件 | 値 |
---|---|
ヘッダー |
|