CreateBitmap 関数 (wingdi.h)

CreateBitmap 関数は、指定された幅、高さ、および色形式 (カラー プレーンとピクセルあたりのビット数) を使用してビットマップを作成します。

構文

HBITMAP CreateBitmap(
  [in] int        nWidth,
  [in] int        nHeight,
  [in] UINT       nPlanes,
  [in] UINT       nBitCount,
  [in] const VOID *lpBits
);

パラメーター

[in] nWidth

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

[in] nHeight

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

[in] nPlanes

デバイスで使用されるカラー プレーンの数。

[in] nBitCount

1 ピクセルの色を識別するために必要なビット数。

[in] lpBits

ピクセルの四角形で色を設定するために使用される色データの配列へのポインター。 四角形内の各スキャン行は、単語揃えである必要があります (単語が揃っていないスキャン行は、ゼロで埋め込む必要があります)。 予想されるバッファー サイズ cj は、次の式を使用して計算できます。

cj = (((nWidth * nPlanes * nBitCount + 15) >> 4) << 1) * nHeight;

このパラメーターが NULL の場合、新しいビットマップの内容は未定義になります。

戻り値

関数が成功した場合、戻り値はビットマップへのハンドルです。

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

この関数は、次の値を返すことができます。

リターン コード 説明
ERROR_INVALID_BITMAP
ビットマップの計算サイズが 0 未満です。

解説

CreateBitmap 関数は、デバイスに依存するビットマップを作成します。

ビットマップを作成した後、 SelectObject 関数を呼び出してデバイス コンテキストに選択できます。 ただし、ビットマップと DC の形式が同じ場合にのみ、ビットマップをデバイス コンテキストに選択できます。

CreateBitmap 関数を使用して、カラー ビットマップを作成できます。 ただし、パフォーマンス上の理由から、アプリケーションでは CreateBitmap を 使用してモノクロ ビットマップを作成し、 CreateCompatibleBitmap を 使用してカラー ビットマップを作成する必要があります。 CreateBitmap から返されるカラー ビットマップがデバイス コンテキストに選択されるたびに、ビットマップが選択されているデバイス コンテキストの形式と一致することがシステムによって確認されます。 CreateCompatibleBitmap はデバイス コンテキストを受け取るため、指定したデバイス コンテキストと同じ形式のビットマップを返します。 したがって、 SelectObject の後続の呼び出しは、CreateBitmap から返されるカラー ビットマップよりも 、CreateCompatibleBitmap からのカラー ビットマップの方が高速 です

ビットマップがモノクロの場合、0 は前景色を表し、1 つはターゲット デバイス コンテキストの背景色を表します。

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

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

要件

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

関連項目

ビットマップ関数

ビットマップの概要

CreateBitmapIndirect

CreateCompatibleBitmap

CreateDIBitmap

DeleteObject

GetBitmapBits

Selectobject

SetBitmapBits