createDIBitmap 函式 (wingdi.h)
CreateDIBitmap函式會從 DIB 建立相容的點陣圖 (DDB) ,並選擇性地設定點陣圖位。
語法
HBITMAP CreateDIBitmap(
[in] HDC hdc,
[in] const BITMAPINFOHEADER *pbmih,
[in] DWORD flInit,
[in] const VOID *pjBits,
[in] const BITMAPINFO *pbmi,
[in] UINT iUsage
);
參數
[in] hdc
裝置內容的控制代碼。
[in] pbmih
點陣圖資訊標頭結構的指標, BITMAPV5HEADER。
如果 fdwInit 是CBM_INIT,則函式會使用點陣圖資訊標頭結構來取得所需的點陣圖寬度和高度,以及其他資訊。 請注意,高度的正值表示由下至下 DIB,而高度的負值則表示由上而下 DIB。 使用fdwInit呼叫CreateDIBitmap作為CBM_INIT相當於呼叫CreateCompatibleBitmap函式,以裝置格式建立 DDB,然後呼叫SetDIBits函式,將 DIB 位轉譯為 DDB。
[in] flInit
指定系統如何初始化點陣圖位。 定義下列值。
值 | 意義 |
---|---|
|
如果設定此旗標,系統會使用 lpbInit 和 lpbmi 參數指向的資料來初始化點陣圖位。
如果清除此旗標,則不會使用這些參數所指向的資料。 |
如果 fdwInit 為零,則系統不會初始化點陣圖位。
[in] pjBits
包含初始點陣圖資料的位元組陣列指標。 資料的格式取決於lpbmi參數所指向之 BITMAPINFO結構的biBitCount成員。
[in] pbmi
BITMAPINFO結構的指標,描述lpbInit參數所指向之陣列的維度和色彩格式。
[in] iUsage
指定是否初始化 BITMAPINFO結構的bmiColors成員,如果是的話,bmiColors是否包含明確的紅色、綠色、藍色 (RGB) 值或調色盤索引。 fuUsage參數必須是下列其中一個值。
值 | 意義 |
---|---|
|
會提供色彩表格,並將 16 位索引的陣列組成要選取點陣圖之裝置內容的邏輯調色盤。 |
|
提供色彩表格,並包含常值 RGB 值。 |
傳回值
如果函式成功,則傳回值是相容點陣圖的控制碼。
如果函式失敗,則傳回值為 Null。
備註
所建立的 DDB 將會是參考 DC 所在的任何位深度。 若要建立不同位深度的點陣圖,請使用 CreateDIBSection。
若要讓裝置達到最佳點陣圖繪製速度,請將 fdwInit 指定為 CBM_INIT。 然後,使用與視訊模式相同的色彩深度 DIB。 當影片執行 4 或 8-bpp 時,請使用 DIB_PAL_COLORS。
不再支援 fdwInit 參數的CBM_CREATDIB旗標。
當您不再需要點陣圖時,請呼叫 DeleteObject 函式來刪除它。
Icm: 不會執行色彩管理。 建立點陣圖之後,產生的點陣圖內容不會比對色彩。
規格需求
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wingdi.h (包含 Windows.h) |
程式庫 | Gdi32.lib |
Dll | Gdi32.dll |