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

CreateBitmap

Previous pageReturn to chapter overviewNext page

描述

 

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的后续调用更快。

 

如果位图是单色的,则零表示前景色,一个表示目标设备上下文的背景颜色。

 

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

 

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

 

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

 

引用文件 #INCLUDE Once

 

WinGdi.inc(包括Windows.inc)