BITMAPINFO 構造体 (wingdi.h)
BITMAPINFO 構造体は、DIB のディメンションと色情報を定義します。
構文
typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
} BITMAPINFO, *LPBITMAPINFO, *PBITMAPINFO;
メンバー
bmiHeader
色書式のディメンションに関する情報を含む BITMAPINFOHEADER 構造体。
.
bmiColors[1]
bmiColors メンバーには、次のいずれかが含まれます。
- RGBQUAD の配列。 カラー テーブルを構成する配列の要素。
- 現在実現されている論理パレットへのインデックスを指定する 16 ビット符号なし整数の配列。
この bmiColors の使用は、DIB を使用する関数に対して許可されます。
bmiColors 要素に、実現された論理パレットへのインデックスが含まれている場合は、次のビットマップ関数も呼び出す必要があります。
CreateDIBSection の iUsage パラメーターは、DIB_PAL_COLORSに設定する必要があります。
bmiColors テーブルの色は重要度順に表示されます。 詳細については、「解説」を参照してください。
解説
DIB は、ビットマップのサイズと色を記述する BITMAPINFO 構造体と、ビットマップのピクセルを定義するバイト配列という 2 つの異なる部分で構成されます。 配列内のビットは一緒にパックされますが、 LONG データ型の境界で終わるには、各スキャン行にゼロを埋め込む必要があります。 ビットマップの高さが正の場合、ビットマップはボトムアップ DIB になり、原点は左下隅になります。 高さが負の場合、ビットマップは上から下の DIB になり、原点は左上隅になります。
ビットマップ配列が BITMAPINFO ヘッダーの直後に配置されると、ビットマップがパックされます。 パックされたビットマップは、1 つのポインターで参照されます。 パックされたビットマップの場合、DIB ビットマップ配列が DWORD 境界で開始されるように、DIB_PAL_COLORS モードを使用する場合は、biClrUsed メンバーを偶数に設定する必要があります。
ビットマップをファイルに格納したり、別のアプリケーションに転送したりする場合は、 bmiColors メンバーにパレット インデックスを含めないようにしてください。
アプリケーションでビットマップの排他的な使用と制御がない限り、ビットマップ カラー テーブルには明示的な RGB 値が含まれている必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
Header | wingdi.h (Windows.h を含む) |