SetDIBits 関数 (wingdi.h)
SetDIBits 関数は、指定された DIB で検出された色データを使用して、互換性のあるビットマップ (DDB) のピクセルを設定します。
構文
int SetDIBits(
[in] HDC hdc,
[in] HBITMAP hbm,
[in] UINT start,
[in] UINT cLines,
[in] const VOID *lpBits,
[in] const BITMAPINFO *lpbmi,
[in] UINT ColorUse
);
パラメーター
[in] hdc
デバイス コンテキストを識別するハンドル。
[in] hbm
指定した DIB のカラー データを使用して変更される互換性のあるビットマップ (DDB) へのハンドル。
[in] start
lpvBits パラメーターが指す配列内のデバイスに依存しないカラー データの開始スキャンライン。
[in] cLines
デバイスに依存しない色データを含む配列内のスキャン行の数。
[in] lpBits
バイトの配列として格納されている DIB カラー データへのポインター。 ビットマップ値の形式は、lpbmi パラメーターによって指される BITMAPINFO 構造体の biBitCount メンバーによって異なります。
[in] lpbmi
DIB に関する情報を含む BITMAPINFO 構造体へのポインター。
[in] ColorUse
BITMAPINFO 構造体の bmiColors メンバーが指定されたかどうか、および指定されている場合は、bmiColors に明示的な赤、緑、青 (RGB) の値またはパレット インデックスが含まれているかどうかを示します。 fuColorUse パラメーターは、次のいずれかの値である必要があります。
値 | 説明 |
---|---|
|
カラー テーブルは、 hdc パラメーターによって識別されるデバイス コンテキストの論理パレットに 16 ビット インデックスの配列で構成されます。 |
|
カラー テーブルが提供され、リテラル RGB 値が含まれています。 |
戻り値
関数が成功した場合、戻り値はコピーされたスキャン行の数です。
関数が失敗した場合は、0 を返します。
次の値を指定できます。
リターン コード | 説明 |
---|---|
|
1 つ以上の入力パラメーターが無効です。 |
解説
最適なビットマップ描画速度は、ビットマップ ビットがシステム パレットのインデックスである場合に取得されます。
アプリケーションは、 GetSystemPaletteEntries 関数を呼び出すことによって、システム パレットの色とインデックスを取得できます。 色とインデックスを取得した後、アプリケーションは DIB を作成できます。 詳細については、「 システム パレット」を参照してください。
hdc パラメーターで識別されるデバイス コンテキストは、fuColorUse パラメーターにDIB_PAL_COLORS定数が設定されている場合にのみ使用されます。それ以外の場合は無視されます。
アプリケーションがこの関数を呼び出すときに、 hbmp パラメーターで識別されるビットマップをデバイス コンテキストに選択することはできません。
スキャン行は、RLE 圧縮ビットマップを除き 、DWORD 上に配置する必要があります。
ボトムアップ DIB の原点は、ビットマップの左下隅です。トップダウン DIB の原点は、ビットマップの左上隅です。
Icm:色管理は、iEnableICM パラメーターが ICM_ON に設定された SetICMMode の呼び出しでカラー管理が有効になっている場合に実行されます。 lpbmi で指定されたビットマップにガンマとエンドポイントのメンバーを指定するBITMAPV4HEADERがある場合、または gamma メンバーと endpoints メンバー、または profileData メンバーと profileSize メンバーのいずれかを指定するBITMAPV5HEADERがある場合、呼び出しでは、ビットマップのピクセルは、デバイス コンテキストのソースカラー空間ではなく、それらのメンバーによって記述された色空間で表現されたものとして扱われます。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wingdi.h (Windows.h を含む) |
Library | Gdi32.lib |
[DLL] | Gdi32.dll |