CreateDIBitmap 関数 (wingdi.h)
CreateDIBitmap 関数は、DIB から互換性のあるビットマップ (DDB) を作成し、必要に応じてビットマップ ビットを設定します。
構文
HBITMAP CreateDIBitmap(
[in] HDC hdc,
[in] const BITMAPINFOHEADER *pbmih,
[in] DWORD flInit,
[in] const VOID *pjBits,
[in] const BITMAPINFO *pbmi,
[in] UINT iUsage
);
パラメーター
[in] hdc
デバイス コンテキストを識別するハンドル。
[in] pbmih
ビットマップ情報ヘッダー構造体へのポインター。 BITMAPV5HEADER。
fdwInit がCBM_INIT場合、関数はビットマップ情報ヘッダー構造を使用して、ビットマップの目的の幅と高さ、およびその他の情報を取得します。 高さの正の値はボトムアップ DIB を示し、高さの負の値はトップダウン DIB を示します。 CBM_INITとして fdwInit を使用して CreateDIBitmap を呼び出すことは、CreateCompatibleBitmap 関数を呼び出してデバイスの形式で DDB を作成し、SetDIBits 関数を呼び出して DIB ビットを DDB に変換することと同じです。
[in] flInit
システムがビットマップ ビットを初期化する方法を指定します。 次の値が定義されています。
値 | 説明 |
---|---|
|
このフラグが設定されている場合、システムは lpbInit パラメーターと lpbmi パラメーターが指すデータを使用してビットマップ ビットを初期化します。
このフラグが明確な場合、これらのパラメーターによって指されるデータは使用されません。 |
fdwInit が 0 の場合、システムはビットマップ ビットを初期化しません。
[in] pjBits
初期ビットマップ データを含むバイト配列へのポインター。 データの形式は、lpbmi パラメーターが指す BITMAPINFO 構造体の biBitCount メンバーによって異なります。
[in] pbmi
lpbInit パラメーターが指す配列の次元と色の形式を記述する BITMAPINFO 構造体へのポインター。
[in] iUsage
BITMAPINFO 構造体の bmiColors メンバーが初期化されたかどうかを指定し、初期化されている場合は、bmiColors に明示的な赤、緑、青 (RGB) 値またはパレット インデックスが含まれているかどうかを指定します。 fuUsage パラメーターは、次のいずれかの値である必要があります。
値 | 説明 |
---|---|
|
カラー テーブルが提供され、ビットマップを選択するデバイス コンテキストの論理パレットに 16 ビット インデックスの配列で構成されます。 |
|
カラー テーブルが提供され、リテラル RGB 値が含まれています。 |
戻り値
関数が成功した場合、戻り値は互換性のあるビットマップへのハンドルです。
関数が失敗した場合は、返される値は NULL です。
解説
作成される DDB は、参照 DC のビット深度になります。 ビット深度が異なるビットマップを作成するには、 CreateDIBSection を使用します。
デバイスが最適なビットマップ描画速度に達するには、 fdwInit をCBM_INITとして指定します。 次に、ビデオ モードと同じ色深度 DIB を使用します。 ビデオが 4 または 8 bpp を実行している場合は、DIB_PAL_COLORSを使用します。
fdwInit パラメーターのCBM_CREATDIB フラグはサポートされなくなりました。
ビットマップが不要になったら、 DeleteObject 関数を呼び出して削除します。
Icm: カラー管理は実行されません。 結果のビットマップの内容は、ビットマップの作成後に色が一致しません。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wingdi.h (Windows.h を含む) |
Library | Gdi32.lib |
[DLL] | Gdi32.dll |