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 パラメーターは、次のいずれかの値である必要があります。

説明
DIB_PAL_COLORS
カラー テーブルは、 hdc パラメーターによって識別されるデバイス コンテキストの論理パレットに 16 ビット インデックスの配列で構成されます。
DIB_RGB_COLORS
カラー テーブルが提供され、リテラル RGB 値が含まれています。

戻り値

関数が成功した場合、戻り値はコピーされたスキャン行の数です。

関数が失敗した場合は、0 を返します。

次の値を指定できます。

リターン コード 説明
ERROR_INVALID_PARAMETER
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

関連項目

BITMAPINFO

ビットマップ関数

ビットマップの概要

GetDIBits

GetSystemPaletteEntries