描述
CreateCompatibleBitmap功能创建与与指定设备上下文关联的设备兼容的位图。
C++ 语法
HBITMAP CreateCompatibleBitmap( __in HDC hdc, __in int nWidth, __in int nHeight ); |
PowerBASIC 语法
FUNCTION CreateCompatibleBitmap( _ BYVAL hdc AS DWORD, _ BYVAL nWidth AS LONG, _ BYVAL nHeight AS LONG _ ) AS DWORD |
参数
hdc
[in]处理设备上下文。
nWidth
[in]指定位图宽度,以像素为单位。
nHeight
[in]指定位图高度(以像素为单位)。
返回值
如果函数成功,则返回值是兼容位图(DDB)的句柄。
如果函数失败,返回值为NULL。
Windows NT / 2000 / XP / Vista / Windows 7:要获得扩展错误信息,请调用GetLastError.
备注
由CreateCompatibleBitmap功能创建的位图的颜色格式与由hDC参数标识的设备的颜色格式相匹配。该位图可以被选择到与原始设备兼容的任何存储设备上下文中。
因为存储器设备上下文允许彩色和单色位图,所以当指定的设备上下文是存储器设备上下文时,由CreateCompatibleBitmap函数返回的位图的格式不同。但是,为非内存设备上下文创建的兼容位图始终具有相同的颜色格式,并使用与指定设备上下文相同的调色板。
注意:当创建存储器件上下文时,它最初在其中选择一个1 x 1的单色位图。如果在CreateCompatibleBitmap中使用此存储器设备上下文,则创建的位图是单色位图。要创建颜色位图,请使用用于创建内存设备上下文的hDC,如以下代码所示:
C++
HDC memDC = CreateCompatibleDC(hDC);
HBITMAP memBM = CreateCompatibleBitmap(hDC, nWidth, nHeight);
SelectObject (memDC, memBM);
PowerBASIC
DIM memDC AS DWORD
DIM memBM AS DWORD
memDC = CreateCompatibleDC(hDC)
memBM = CreateCompatibleBitmap(hDC, nWidth, nHeight)
SelectObject(memDC, memBM)
如果应用程序将nWidth或nHeight参数设置为零,则CreateCompatibleBitmap将句柄返回到1 x 1像素,单色位图。
如果由CreateDIBSection函数创建的位图的DIB部分被选择到由hdc参数标识的设备上下文中,CreateCompatibleBitmap将创建一个DIB部分。
当您不再需要位图时,请调用DeleteObject功能将其删除。
Windows 95/98 / Me:创建的位图的大小不能超过16MB。
引用文件 #INCLUDE Once
WinGdi.inc(包括Windows.inc)