CreateBitmapIndirect 函数 (wingdi.h)
CreateBitmapIndirect 函数创建具有指定宽度、高度和颜色格式的位图, (颜色平面和每像素位) 。
语法
HBITMAP CreateBitmapIndirect(
[in] const BITMAP *pbm
);
参数
[in] pbm
指向包含位图相关信息的 BITMAP 结构的指针。 如果应用程序将 bmWidth 或 bmHeight 成员设置为零, 则 CreateBitmapIndirect 会将句柄返回到 1 x 1 像素的单色位图。
返回值
如果函数成功,则返回值是位图的句柄。
如果函数失败,则返回值为 NULL。
此函数可以返回以下值。
返回代码 | 说明 |
---|---|
|
一个或多个输入参数无效。 |
|
位图太大,无法分配内存。 |
注解
CreateBitmapIndirect 函数创建依赖于设备的位图。
创建位图后,可以通过调用 SelectObject 函数将其选择到设备上下文中。 但是,如果位图和 DC 格式相同,则位图只能选择到设备上下文中。
虽然 CreateBitmapIndirect 函数可用于创建颜色位图,但出于性能原因,应用程序应使用 CreateBitmapIndirect 创建单色位图, 使用 CreateCompatibleBitmap 创建颜色位图。 每当 将 CreateBitmapIndirect 中的颜色位图选入设备上下文时,系统都必须确保该位图与被选中的设备上下文的格式匹配。 由于 CreateCompatibleBitmap 采用设备上下文,因此它返回与指定设备上下文格式相同的位图。 因此,使用 CreateCompatibleBitmap 中的颜色位图,对 SelectObject 的后续调用比从 CreateBitmapIndirect 返回的颜色位图更快。
如果位图为单色,则零表示前景色,零表示目标设备上下文的背景色。
如果不再需要位图,请调用 DeleteObject 函数将其删除。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | wingdi.h (包括 Windows.h) |
Library | Gdi32.lib |
DLL | Gdi32.dll |