CreateDIBitmap

CreateDIBitmap 関数は DIB から互換ビットマップ (DDB) を作成し、必要に応じてビットマップビットを設定する。

CreateDIBitmap hdc, pbmih, flInit, pjBits, pbmi, iUsage

hdc : [intptr] デバイスコンテキストへのハンドル。
pbmih : [var] ビットマップ情報ヘッダ構造体 BITMAPV5HEADER へのポインタ。fdwInit が CBM_INIT の場合、関数はビットマップ情報ヘッダ構造体を使ってビットマップに必要な幅、高さ、その他の情報を取得する。高さの正値は下から上の DIB を、負値は上から下の DIB を示すことに注意。CBM_INIT を fdwInit に指定して CreateDIBitmap を呼ぶことは、CreateCompatibleBitmap を呼んでデバイスのフォーマットの DDB を作成し、その後 SetDIBits を呼んで DIB ビットを DDB に変換することと等価である。
flInit : [int] システムがビットマップビットを初期化する方法を指定する。次の値が定義されている。
pjBits : [intptr] 初期ビットマップデータを含むバイト配列へのポインタ。データのフォーマットは、lpbmi パラメータが指す BITMAPINFO 構造体の biBitCount メンバに依存する。
pbmi : [var] lpbInit パラメータが指す配列の寸法と色フォーマットを記述する BITMAPINFO 構造体へのポインタ。
iUsage : [int] 

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

解説

CreateDIBitmap 関数は DIB から互換ビットマップ (DDB) を作成し、必要に応じてビットマップビットを設定する。

[戻り値]
関数が成功した場合、戻り値は互換ビットマップへのハンドルとなる。関数が失敗した場合、戻り値は NULL となる。

[備考]
作成される DDB は、リファレンス DC のビット深度になる。異なるビット深度のビットマップを作成するには
CreateDIBSection を使う。デバイスが最適なビットマップ描画速度に達するためには、fdwInit に CBM_INIT
を指定する。そして DIB をビデオモードと同じ色深度にする。ビデオが 4 または 8 bpp の場合は DIB_PAL_COLORS
を使う。fdwInit パラメータの CBM_CREATDIB フラグはサポートされなくなった。ビットマップが不要になったら
DeleteObject を呼んで削除する。ICM:
カラーマネジメントは実行されない。作成された結果のビットマップの内容はカラーマッチされない。

情報

プラグイン / モジュール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