原文链接 -> 传送门
函数功能:
CreateDIBitmap 函数由与设备无关的位图(DIB)创建与设备有关的位图(DDB),并且有选择地设置位图置位。
API 函数原型:
注释:_In_ 说明该参数是输入的。
HBITMAP CreateDIBitmap( _In_ HDC hdc, _In_ const BITMAPINFOHEADER *lpbmih, _In_ DWORD fdwInit, _In_ const VOID *lpbInit, _In_ const BITMAPINFO *lpbmi, _In_ UINT fuUsage );
参数解析:
|
参数 |
含义 |
||||||
|
hdc |
指向设备环境句柄 |
||||||
|
lpbmih |
1. 指向位图信息头结构(BITMAPV5HEADER)的指针 |
||||||
|
fdwInit |
1. 它指定系统如何对位图的位进行初始化。下面是值的定义:
|
||||||
|
lpbInit |
该指针指向包含初始位图数据的字节类型数组。数据格式与 lpbmi 参数指向的 BITMAPINFO 结构中的 biBitCount 成员有关 |
||||||
|
lpbmi |
指向 BITMAPINFO 结构的指针。该结构描述了 lpbmi 参数指向的数组的维数和颜色格式 |
||||||
|
fuUsage |
表示 BITMAPINFO 结构的成员 bmiColors 是否已经初始化。如果是,那么 bmiColors 是否包含明确的红、绿、蓝(RGB)值或调色板索引。参数 fuUsage 必须取下列值中的一个,这些值的含义为:
|
返回值:
1. 如果函数调用成功,返回值则是创建的位图的句柄;
2. 如果函数调用失败,那么返回值为 NULL。
备注:
1. DDB(设备无关的位图)的灰度与你引用的设备灰度一致。使用 CreateDIBSection 函数创建不同灰度的位图。
2. 当指定 fdwInit 参数的值为 CBM_INIT 时, 设备达到最优的位图制图速度。然后使用与 DIB 相同的颜色深度做为显示模式使用 DIB_PAL_COLORS 显示模式为 4bpp(每像素位)或者 8bpp(每像素位)
3. 用于 fdwlnit 参数的 CBM_CREATDIB 标志不再被支持。
4. 当不再需要该位图时,可调用 DeleteObject 函数删除它。
5. ICM(色彩管理):如果不能进行位图的颜色管理 ,在创建完位图之后,产生的位图的内容颜色不匹配。
需求:
|
Minimum supported client |
Windows 2000 专业版 [仅桌面应用程序] |
|
Minimum supported server |
Windows 2000 服务器版 [仅桌面应用程序] |
|
Header |
Wingdi.h (包含于 Windows.h) |
|
Library |
Gdi32.lib |
|
DLL |
Gdi32.dll |




