createBitmapIndirect 函式 (wingdi.h)

CreateBitmapIndirect函式會建立具有指定寬度、高度和色彩格式的點陣圖, (色彩平面和每個圖元的位) 。

語法

HBITMAP CreateBitmapIndirect(
  [in] const BITMAP *pbm
);

參數

[in] pbm

點陣圖結構的指標,其中包含點陣圖的相關資訊。 如果應用程式將 bmWidthbmHeight 成員設定為零, CreateBitmapIndirect 會將控制碼傳回至 1-by-1 圖元的單色點陣圖。

傳回值

如果函式成功,則傳回值是點陣圖的控制碼。

如果函式失敗,則傳回值為 Null

此函式可以傳回下列值。

傳回碼 描述
ERROR_INVALID_PARAMETER
一或多個輸入參數無效。
ERROR_NOT_ENOUGH_MEMORY
點陣圖太大,無法配置記憶體。

備註

CreateBitmapIndirect函式會建立裝置相依的點陣圖。

建立點陣圖之後,即可藉由呼叫 SelectObject 函式,將其選取到裝置內容中。 不過,如果點陣圖和 DC 的格式相同,則只能將點陣圖選取到裝置內容中。

雖然 CreateBitmapIndirect 函式可用來建立色彩點陣圖,但基於效能考慮,應用程式應該使用 CreateBitmapIndirect 來建立單色點陣圖和 CreateCompatibleBitmap 來建立色彩點陣圖。 每當從 CreateBitmapIndirect 選取色彩點陣圖到裝置內容時,系統必須確定點陣圖符合所選取裝置內容的格式。 由於 CreateCompatibleBitmap 會採用裝置內容,因此會傳回與指定裝置內容具有相同格式的點陣圖。 因此,SelectObject的後續呼叫速度會比從 CreateBitmapIndirect傳回的色彩點陣圖更快。

如果點陣圖是單色,則零代表前景色彩,而其中一個代表目的地裝置內容的背景色彩。

當您不再需要點陣圖時,請呼叫 DeleteObject 函式來刪除它。

規格需求

   
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 wingdi.h (包含 Windows.h)
程式庫 Gdi32.lib
Dll Gdi32.dll

另請參閱

點陣圖

BitBlt

點陣圖函式

點陣圖概觀

CreateBitmap

CreateCompatibleBitmap

CreateDIBitmap

DeleteObject

SelectObject