createCompatibleBitmap 函数 (wingdi.h)
CreateCompatibleBitmap 函数创建与设备兼容的位图,该位图与指定的设备上下文相关联。
语法
HBITMAP CreateCompatibleBitmap(
[in] HDC hdc,
[in] int cx,
[in] int cy
);
参数
[in] hdc
设备上下文的句柄。
[in] cx
位图宽度(以像素为单位)。
[in] cy
位图高度(以像素为单位)。
返回值
如果函数成功,则返回值是兼容位图 (DDB) 的句柄。
如果函数失败,则返回值为 NULL。
注解
CreateCompatibleBitmap 函数创建的位图的颜色格式与 hdc 参数标识的设备的颜色格式匹配。 可以在与原始设备兼容的任何内存设备上下文中选择此位图。
由于内存设备上下文同时允许彩色位图和单色位图,因此当指定的设备上下文为内存设备上下文时, CreateCompatibleBitmap 函数返回的位图格式会有所不同。 但是,为非内存设备上下文创建的兼容位图始终具有相同的颜色格式,并使用与指定设备上下文相同的调色板。
注意:创建内存设备上下文时,它最初会选择一个 1 乘 1 的单色位图。 如果在 CreateCompatibleBitmap 中使用此内存设备上下文,则创建的位图是 单色 位图。 若要创建颜色位图,请使用用于创建内存设备上下文的 HDC ,如以下代码所示:
HDC memDC = CreateCompatibleDC ( hDC );
HBITMAP memBM = CreateCompatibleBitmap ( hDC, nWidth, nHeight );
SelectObject ( memDC, memBM );
如果应用程序将 nWidth 或 nHeight 参数设置为零, CreateCompatibleBitmap 会将句柄返回到 1 x 1 像素的单色位图。
如果将 DIB 节(由 CreateDIBSection 函数创建的位图)选入 hdc 参数标识的设备上下文中, 则 CreateCompatibleBitmap 将创建 DIB 节。
如果不再需要位图,请调用 DeleteObject 函数将其删除。
示例
有关示例,请参阅 缩放图像。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | wingdi.h (包括 Windows.h) |
Library | Gdi32.lib |
DLL | Gdi32.dll |