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 要素に、実現された論理パレットへのインデックスが含まれている場合は、次のビットマップ関数も呼び出す必要があります。

    CreateDIBitmap

    CreateDIBPatternBrush

    CreateDIBSection

    CreateDIBSectioniUsage パラメーターは、DIB_PAL_COLORSに設定する必要があります。

配列内のエントリの数は、BITMAPINFOHEADER 構造体の biBitCount メンバーと biClrUsed メンバーの値によって異なります。

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 を含む)

こちらもご覧ください

BITMAPINFOHEADER

ビットマップ構造

ビットマップの概要

CreateDIBPatternBrush

CreateDIBSection

CreateDIBitmap

RGBQUAD