CreateBitmapIndirect

CreateBitmapIndirect 関数は、指定された幅、高さ、色フォーマット(カラープレーンと bpp)を持つビットマップを作成する。

CreateBitmapIndirect pbm

pbm : [var] ビットマップに関する情報を含む BITMAP 構造体へのポインタ。アプリケーションが bmWidth または bmHeight メンバを 0 に設定した場合、CreateBitmapIndirect は 1×1 ピクセルのモノクロビットマップへのハンドルを返す。

(プラグイン / モジュール : gdi32.dll)

解説

CreateBitmapIndirect 関数は、指定された幅、高さ、色フォーマット(カラープレーンと
bpp)を持つビットマップを作成する。

[戻り値]
関数が成功した場合、戻り値はビットマップへのハンドルとなる。関数が失敗した場合、戻り値は NULL
となる。この関数は次の値を返すことがある。
(以下省略)

[備考]
CreateBitmapIndirect 関数はデバイス依存ビットマップを作成する。ビットマップを作成した後は、SelectObject
を呼んでデバイスコンテキストに選択できる。ただし、ビットマップとデバイスコンテキストのフォーマットが同じ場合に限る。CreateBitmapIndirect
でカラービットマップも作成できるが、性能上の理由から、アプリケーションはモノクロビットマップを CreateBitmapIndirect
で作成し、カラービットマップは CreateCompatibleBitmap で作成すべきである。CreateBitmapIndirect
で得たカラービットマップをデバイスコンテキストに選択するたびに、システムはビットマップのフォーマットが選択先 DC
のフォーマットと一致するかを確認しなければならない。CreateCompatibleBitmap
はデバイスコンテキストを引数に取るので、そのデバイスコンテキストと同じフォーマットのビットマップを返す。よって、CreateCompatibleBitmap
で得たカラービットマップに対する SelectObject の呼び出しは、CreateBitmapIndirect
で得たものより高速になる。ビットマップがモノクロの場合、0 が前景色、1
が宛先デバイスコンテキストの背景色を表す。ビットマップが不要になったら DeleteObject を呼んで削除する。

情報

プラグイン / モジュールgdi32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の gdi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_gdi32_gen2.hs