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);

  • 相关阅读:
    如何将SQLServer2005中的数据同步到Oracle中【转】
    八大排序算法总结[转]
    Web报表相关汇集(个人收藏)
    分析:城域网技术PBT交锋TMPLS
    Ubuntu下通过SSH远程登录服务器的方法
    关于VC代码的编写和调试(三)
    Start Starts a separate window to run a specified program or command.
    罗技劲雕鼠标移动速度过慢问题
    Microsoft XML Core Services 4.0 SP2 KB936181老是提示安装(转,不过我也遇到这个问题了)
    四川人逆境中的幽默
  • 原文地址:https://www.cnblogs.com/Jade2009/p/1454912.html
Copyright © 2011-2022 走看看