CreateCompatibleBitmap 関数 (wingdi.h)

CreateCompatibleBitmap 関数は、指定したデバイス コンテキストに関連付けられているデバイスと互換性のあるビットマップを作成します。

構文

HBITMAP CreateCompatibleBitmap(
  [in] HDC hdc,
  [in] int cx,
  [in] int cy
);

パラメーター

[in] hdc

デバイス コンテキストを識別するハンドル。

[in] cx

ビットマップの幅 (ピクセル単位)。

[in] cy

ビットマップの高さ (ピクセル単位)。

戻り値

関数が成功した場合、戻り値は互換性のあるビットマップ (DDB) へのハンドルです。

関数が失敗した場合は、返される値は NULL です。

注釈

CreateCompatibleBitmap 関数によって作成されるビットマップの色形式は、hdc パラメーターによって識別されるデバイスの色形式と一致します。 このビットマップは、元のデバイスと互換性のある任意のメモリ デバイス コンテキストに選択できます。

メモリ デバイス コンテキストではカラー ビットマップとモノクロ ビットマップの両方が許可されるため、 CreateCompatibleBitmap 関数によって返されるビットマップの形式は、指定されたデバイス コンテキストがメモリ デバイス コンテキストである場合に異なります。 ただし、非メモリ デバイス コンテキスト用に作成された互換性のあるビットマップは、常に同じ色形式を持ち、指定されたデバイス コンテキストと同じカラー パレットを使用します。

注: メモリ デバイス コンテキストが作成されると、最初は 1 対 1 のモノクロ ビットマップが選択されます。 CreateCompatibleBitmap でこのメモリ デバイス コンテキストを使用する場合、作成されるビットマップはモノクロ ビットマップです。 カラー ビットマップを作成するには、次のコードに示すように、メモリ デバイス コンテキストの作成に使用された HDC を使用します。


    HDC memDC = CreateCompatibleDC ( hDC );
    HBITMAP memBM = CreateCompatibleBitmap ( hDC, nWidth, nHeight );
    SelectObject ( memDC, memBM );

アプリケーションで nWidth パラメーターまたは nHeight パラメーターを 0 に設定した場合、 CreateCompatibleBitmap はハンドルを 1 x 1 ピクセルのモノクロ ビットマップに返します。

CreateDIBSection 関数によって作成されたビットマップである DIB セクションが、hdc パラメーターによって識別されるデバイス コンテキストで選択されている場合、CreateCompatibleBitmap によって DIB セクションが作成されます。

ビットマップが不要になったら、 DeleteObject 関数を呼び出して削除します。

例については、「イメージの スケーリング」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wingdi.h (Windows.h を含む)
Library Gdi32.lib
[DLL] Gdi32.dll

こちらもご覧ください

ビットマップ関数

ビットマップの概要

CreateDIBSection

DeleteObject

Selectobject