createBitmap 函式 (wingdi.h)

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

語法

HBITMAP CreateBitmap(
  [in] int        nWidth,
  [in] int        nHeight,
  [in] UINT       nPlanes,
  [in] UINT       nBitCount,
  [in] const VOID *lpBits
);

參數

[in] nWidth

點陣圖寬度,以圖元為單位。

[in] nHeight

點陣圖高度,以圖元為單位。

[in] nPlanes

裝置所使用的色彩平面數目。

[in] nBitCount

識別單一圖元色彩所需的位數。

[in] lpBits

色彩資料陣列的指標,用來設定圖元矩形中的色彩。 矩形中的每個掃描行都必須對齊, (未對齊單字的掃描行必須以零填補) 。 預期的緩衝區大小 cj可以使用公式來計算:

cj = (((nWidth * nPlanes * nBitCount + 15) >> 4) << 1) * nHeight;

如果此參數為 Null,則新點陣圖的內容是未定義的。

傳回值

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

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

此函式可以傳回下列值。

傳回碼 描述
ERROR_INVALID_BITMAP
點陣圖的計算大小小於零。

備註

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

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

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

如果點陣圖為單色,零代表前景色彩,而零代表目的地裝置內容的背景色彩。

如果應用程式將 nWidthnHeight 參數設定為零, CreateBitmap 會將控制碼傳回 1-by-1 圖元的單色點陣圖。

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

規格需求

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

另請參閱

點陣圖函式

點陣圖概觀

CreateBitmapIndirect

CreateCompatibleBitmap

CreateDIBitmap

DeleteObject

GetBitmapBits

SelectObject

SetBitmapBits