zoukankan      html  css  js  c++  java
  • 双缓存画BMP图片(其它格式图片类似)

    在贴一些大点的图片,或者要又叠加多张图片在一起的时候,最好用双缓存.

    下面是双缓存的代码,是一个播放进度条,一共三个图片.在缓存画好后一起搬到前台DC上显示

     

    //双缓冲绘图
     HDC hdc=GetDC(hWnd);

     HDC hdcMem1 = CreateCompatibleDC(hdc);
     HDC hdcMem2 = CreateCompatibleDC(hdc);
     HBITMAP hBit=CreateCompatibleBitmap(hdc,
                                      rcVolBarBk.right-rcVolBarBk.left,
              rcVolBarBk.bottom-rcVolBarBk.top);
     HBITMAP hOldSel1 = (HBITMAP)SelectObject(hdcMem1,hBit);
                                   
     HBITMAP hBmp=LoadBitmap(hInst,MAKEINTRESOURCE(IDB_APVOLBARBK));
     HBITMAP hOldSel2 = (HBITMAP)SelectObject(hdcMem2,hBmp);
     BitBlt(hdcMem1,0,0,rcVolBarBk.right-rcVolBarBk.left,rcVolBarBk.bottom-rcVolBarBk.top,
         hdcMem2,0,0,SRCCOPY);
     SelectObject(hdcMem2,hOldSel2);
     DeleteObject(hBmp);

     hBmp=LoadBitmap(hInst,MAKEINTRESOURCE(IDB_APVOLBAR));
     hOldSel2 = (HBITMAP)SelectObject(hdcMem2,hBmp);
     BitBlt(hdcMem1,0,0,rcVolBar.right-rcVolBar.left,rcVolBar.bottom-rcVolBar.top,
         hdcMem2,0,0,SRCCOPY);
     SelectObject(hdcMem2,hOldSel2);
     DeleteObject(hBmp);

     hBmp=LoadBitmap(hInst,MAKEINTRESOURCE(IDB_APVOLBARTHUMB));
     hOldSel2 = (HBITMAP)SelectObject(hdcMem2,hBmp);
     COLORREF Tcolor=RGB(255,0,255);
     TransparentBlt(hdcMem1,rcVolBarThumb.left-rcVolBarBk.left,rcVolBarThumb.top-rcVolBarBk.top,
                 rcVolBarThumb.right-rcVolBarThumb.left,rcVolBarThumb.bottom-rcVolBarThumb.top,
           hdcMem2,0,0,rcVolBarThumb.right-rcVolBarThumb.left,rcVolBarThumb.bottom-rcVolBarThumb.top,Tcolor);
     SelectObject(hdcMem2,hOldSel2);
     DeleteObject(hBmp);
     
     BitBlt(hdc,rcVolBarBk.left,rcVolBarBk.top,rcVolBarBk.right-rcVolBarBk.left,rcVolBarBk.bottom-rcVolBarBk.top,
         hdcMem1,0,0,SRCCOPY);
     SelectObject(hdcMem1,hOldSel1);
     DeleteObject(hBit);
     DeleteDC(hdcMem2);
     DeleteDC(hdcMem1);

        ReleaseDC(hWnd,hdc);

  • 相关阅读:
    修改RedHat7的root用户密码
    Linux目录,rpm及top,vi命令简记
    Centos7或RedHat7下安装Mysql
    异常、线程
    File类
    JDBC的学习(一)
    MySql多表查询_事务_DCL(资料三)
    MySql约束_设计_备份还原(资料二)
    MySql基础_DDL_DML_DQL(资料一)
    算法小结(一)
  • 原文地址:https://www.cnblogs.com/Jade2009/p/1454912.html
Copyright © 2011-2022 走看看