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 );

如果应用程序将 nWidthnHeight 参数设置为零, 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

另请参阅

位图函数

位图概述

CreateDIBSection

DeleteObject

SelectObject