CreateBitmap的使用方法(转)

CreateBitmap
  函数功能:该函数创建一个带有特定宽度、高度和颜色格式的位图。
  函数原型:HBITMAP CreateBitmap(int nWidth,int nHeight, UINT cPlanes, UINT cBitsPeral,CONST VOID *lpvBits);
  参数:
  nWiath:指定位图宽度、单位为像素。
  NHeight:指定位图高度、单位为像素。
  CPlanes:指定该设备使用的颜色位面数目。
  CBitsPerPel:指定用来区分单个像素点颜色的位数(比特数目)。
  LpvBits:指向颜色数据数组指针。这些颜色数据用来设置矩形区域内像素的颜色。矩形区域中的每一扫描线必须是双字节的整数倍(不足部分以0填充)。如果该参数为NULL,那么就表示没有定义新位图。
  返回值:如果函数成功,那么返回值是位图的句柄;如果失败,那么返回值为NULL。若想获取更多错误信息,请调用GetLastError函数。
  备注:在创建完位图之后,可以通过使用SeletObject函数把它选入到设备环境中。尽管函数CreateBitmap可以用来创建彩色位图,但由于性能方面的原因,应用程序使用CreateBitmap函数来创建单位色位图,创建彩色位图应该使用函数CreateCompatibleBitmap。当由CreateBitmap创建而返回的彩色位图被选入到设备环境时,系统必须确保选入进去的设备环境格式与位图匹配。由于函数CreateComapatbleBitmap获取设备环境,所以它返回的位图与指定的设备环境有相同的格式。由于这个原因,对SelectObject的后续调用都要比从CreateBitmap函数创建返回的彩色位图调用快。
  如果位图是单色的,那么对于目标设备环境而言,0表示前景颜色,而1表示背景颜色。
  如果应用程序将nWidth或nHeight参数设为0,那么函数CreateBitmap返回的是只有一个含像素的单色位图的句柄。当不再需要位图时,可调用DeleteObject函数删除它。
 
 
 

一旦不再需要,记住用DeleteObject函数释放位图占用的内存和资源
可用这个函数创建单色位图(1层,每像素一位)。对于彩色位图,则应使用CreateCompatibleBitmap。这个函数可以胜任工作;但要注意,用它创建的位图在使用时会稍慢一些,因为Windows每次使用的时候都必须检查它的位图格式
如果nWidth和nHeight为零,返回的位图就是一个1×1的单色位图


  Windows CE:参数cPlanes必须是1。
  速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:wingdi.h;库文件:gdi32.lib。

posted on 2010-04-27 20:32  袁军峰  阅读(5145)  评论(0编辑  收藏  举报

导航