描述
CreateBitmap函数创建具有指定宽度,高度和颜色格式(颜色平面和每像素位数)的位图。
C++ 语法
HBITMAP CreateBitmap( __in int nWidth, __in int nHeight, __in UINT cPlanes, __in UINT cBitsPerPel, __in const VOID *lpvBits ); |
PowerBASIC 语法
FUNCTION CreateBitmap( _ BYVAL nWidth AS LONG, _ BYVAL nHeight AS LONG, _ BYVAL cPlanes AS DWORD, _ BYVAL cBitsPerPel AS DWORD, _ BYREF lpvBits AS ANY _ ) AS DWORD |
参数
nWidth
[in]指定位图宽度(以像素为单位)。
nHeight
[in]指定位图高度(以像素为单位)。
cPlanes
[in]指定设备使用的颜色平面数。
cBitsPerPel
[in]指定识别单个像素颜色所需的位数。
lpvBits
[in]指向用于设置像素矩形中的颜色的颜色数据数组的指针。矩形中的每条扫描线必须是字对齐的(不是字对齐的扫描线必须用零填充)。如果此参数为NULL,则新位图的内容未定义。
返回值
如果函数成功,则返回值是位图的句柄。
如果函数失败,返回值为NULL。
Windows NT / 2000 / XP / Vista / Windows 7:要获取扩展错误信息,请调用GetLastError.这可以返回以下值。
值 |
含义 |
ERROR_INVALID_BITMAP |
计算的位图大小小于零。 |
备注
CreateBitmap功能创建与设备相关的位图。
创建位图后,可以通过调用SelectObject功能将其选择到设备上下文中。但是,如果位图和DC具有相同的格式,则位图只能被选择到设备上下文中。
CreateBitmap功能可用于创建色彩位图。但是,出于性能原因,应用程序应使用CreateBitmap创建单色位图和CreateCompatibleBitmap来创建色彩位图。每当从CreateBitmap返回的颜色位图被选择到设备上下文中时,系统将检查位图与正在选择的设备上下文的格式相匹配。因为CreateCompatibleBitmap使用设备上下文,所以返回与指定设备上下文格式相同的位图。因此,使用CreateCompatibleBitmap的颜色位图与从CreateBitmap返回的颜色位图相比,对SelectObject的后续调用更快。
如果位图是单色的,则零表示前景色,一个表示目标设备上下文的背景颜色。
如果应用程序将nWidth或nHeight参数设置为零,则CreateBitmap将句柄返回到1 x 1像素(单色位图)。
当您不再需要位图时,请调用DeleteObject功能将其删除。
Windows 95/98 / Me:创建的位图大小不能超过16MB。
引用文件 #INCLUDE Once
WinGdi.inc(包括Windows.inc)