勇芳软件工作室.汉化:  Bitmaps > Bitmap Functions >

CreateCompatibleBitmap

Previous pageReturn to chapter overviewNext page

描述

 

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)

 

如果应用程序将nWidthnHeight参数设置为零,则CreateCompatibleBitmap将句柄返回到1 x 1像素,单色位图。

 

如果由CreateDIBSection函数创建的位图的DIB部分被选择到由hdc参数标识的设备上下文中,CreateCompatibleBitmap将创建一个DIB部分。

 

当您不再需要位图时,请调用DeleteObject功能将其删除。

 

Windows 95/98 / Me:创建的位图的大小不能超过16MB。

 

引用文件 #INCLUDE Once

 

WinGdi.inc(包括Windows.inc)