• 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。
  • 相关阅读:
    [Typescript] 57. Medium FlattenDepth
    通过质量内建,提高交付质量
    上下文驱动测试(ContextDrivenTesting)
    测试基础10问
    研发活动的降本与增效
    一个有趣的BUG
    测开造轮子漫谈
    测试用例评审如何开展
    测试如何构建快速反馈的能力
    模拟数据在实际场景中的应用
  • 原文地址:https://www.cnblogs.com/tibetanmastiff/p/1722348.html
Copyright © 2020-2023  润新知