CreateBitmap

指定された幅、高さ、色形式を持つビットマップを作成します。この関数は、モノクロビットマップの作成に使用します。

HBITMAP CreateBitmap(
    int  nWitdh,         // 幅
    int  nHeight         // 高さ
    UINT cPranes,        // カラープレーンの数
    UINT cBitsPerPel,    // 1 ピクセルのビット数
    CONST VOID *pvBits   // ピクセルの色データ
);

GDI32.DLL

引数

nWitdh, nHeight

作成するビットマップのサイズをピクセル単位で指定します。

cPranes

デバイスが使用するカラープレーンの数を指定します。モノクロビットマップの作成のためには1を指定します。

cBitsPerPel

1ピクセルの色を識別するのに必要なビット数を指定します。モノクロビットマップの作成のためには1を指定します。

pvBits

ピクセルの色データが入った配列へのポインタを指定します。方形の各走査行は、ワード境界に整列されていなければなりません (余ったバイトは0で埋めなければなりません) 。0 (NULL) を指定すると、ビットマップの内容は初期化されずに不定になります。

戻り値

成功すると作成されたビットマップのハンドルが返ります。

失敗すると0 (NULL) が返ります。

Windows NT/2000/XP: 拡張エラー情報を取得するには、GetLastError関数を使います。

解説

この関数はデバイス依存ビットマップを作成します。

ビットマップ作成後、SelectObject関数を呼び出して、デバイスコンテキストに選択することができます。このとき、ビットマップとデバイスコンテキストは同じ形式でなければいけません。

この関数を使用してカラービットマックを作成することは可能ですが、パフォーマンス上の問題から、アプリケーションはモノクロビットマップの作成にはCreateBitmap関数を使用し、カラービットマップの作成にはCreateCompatibleBitmap関数を使用するべきです。CreateBitmap関数で作成されたビットマップがデバイスコンテキストに選択される際に、システムはビットマップがデバイスコンテキストの形式と合致しているかどうかをチェックします。CreateCompatibleBitmap関数は指定されたデバイスコンテキストと同じ形式のビットマップを作成するため、CreateBitmap関数によるカラービットマップよりもCreateCompatibleBitmap関数によるカラービットマップの方がSelectObject関数の呼び出しが高速になります。

nWitdhまたはnHeight0を指定すると、1×1ピクセルのモノクロビットマップのハンドルが返ります。

ビットマップが不要になったらDeleteObject関数で削除しなければなりません。

対応情報

Windows 95 以降 / Windows NT 3.1 以降