BITMAPCOREINFO 構造体 (wingdi.h)
BITMAPCOREINFO 構造体は、DIB のディメンションと色情報を定義します。
構文
typedef struct tagBITMAPCOREINFO {
BITMAPCOREHEADER bmciHeader;
RGBTRIPLE bmciColors[1];
} BITMAPCOREINFO, *LPBITMAPCOREINFO, *PBITMAPCOREINFO;
メンバー
bmciHeader
DIB のディメンションと色の形式に関する情報を含む BITMAPCOREHEADER 構造体。
bmciColors[1]
ビットマップ内の色を定義する RGBTRIPLE 構造体の配列を指定します。
注釈
DIB は、ビットマップのサイズと色を記述する BITMAPCOREINFO 構造体と、ビットマップのピクセルを定義するバイト配列の 2 つの部分で構成されます。 配列内のビットは一緒にパックされますが、 LONG 境界で終わるには、各スキャン行にゼロを埋め込む必要があります。 ビットマップの原点は左下隅です。
BITMAPCOREHEADER 構造体の bcBitCount メンバーは、各ピクセルを定義するビット数と、ビットマップ内の色の最大数を決定します。 このメンバーには、次のいずれかの値を指定できます。
値 | 意味 |
---|---|
1 | ビットマップはモノクロで、 bmciColors メンバーには 2 つのエントリが含まれています。 ビットマップ配列内の各ビットはピクセルを表します。 ビットがクリアの場合、ピクセルは bmciColors テーブルの最初のエントリの色で表示されます。ビットが設定されている場合、ピクセルはテーブル内の 2 番目のエントリの色を持っています。 |
4 | ビットマップの色は最大 16 色で、 bmciColors メンバーには最大 16 個のエントリが含まれます。 ビットマップ内の各ピクセルは、カラー テーブルの 4 ビット インデックスで表されます。 たとえば、ビットマップの最初のバイトが0x1F場合、バイトは 2 つのピクセルを表します。 1 番目のピクセルには 2 番目のテーブル エントリの色が含まれており、2 番目のピクセルには 16 番目のテーブル エントリの色が含まれています。 |
8 | ビットマップの色は最大 256 色で、 bmciColors メンバーには最大 256 個のエントリが含まれます。 この場合、配列内の各バイトは 1 ピクセルを表します。 |
24 | ビットマップの色は最大 2 (24) で、 bmciColors メンバーは NULL です。 ビットマップ配列内の各 3 バイトのトリプレットは、それぞれピクセルの青、緑、赤の相対的な強度を表します。 |
bmciColors テーブルの色は、重要度の順に表示されます。
または、DIB を使用する関数の場合、 bmciColors メンバーは、明示的な RGB 値ではなく、現在実現されている論理パレットにインデックスを指定する 16 ビット符号なし整数の配列にすることができます。 この場合、ビットマップを使用するアプリケーションは、iUsage パラメーターを DIB_PAL_COLORS に設定して DIB 関数 ( CreateDIBitmap、CreateDIBPatternBrush、CreateDIBSection) を呼び出す必要があります。
ビットマップをファイルに格納する場合、または別のアプリケーションに転送する場合は、 bmciColors メンバーにパレット インデックスを含めないようにしてください。 アプリケーションでビットマップを排他的に使用および制御できる場合を除き、ビットマップ カラー テーブルには明示的な RGB 値が含まれている必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
Header | wingdi.h (Windows.h を含む) |