qyykf2017 2016-05-02 08:38 采纳率: 0%
浏览 1152

GDI绘图 双缓冲贴图 电脑死机

绘图的时候使用了双缓冲贴图 然后自己定义了一个透明贴图的函数DrawTransBitmap,贴图成功了,但是程序一运行内存就飞速增长。不关的话马上就死机了,小白一枚 求各位大神帮忙 万分感激


  • 写回答

1条回答

  • qyykf2017 2016-05-02 08:41
    关注
                case WM_PAINT:
                    hdc = GetDC(hwnd);
                    mdc = CreateCompatibleDC(hdc);
                    bufdc = CreateCompatibleDC(hdc);
                    bufdc2 = CreateCompatibleDC(hdc);
                    GetClientRect(hwnd,&rect);
                    GetObject(hbm1,sizeof(BITMAP),&bm);
                    xlength = rect.right - rect.left;
                    ylength = rect.bottom - rect.top;
    
    
                    SelectObject(bufdc,hbm1);
                    hbm3 = CreateCompatibleBitmap(hdc,xlength,ylength);
                    SelectObject(mdc,hbm3);
                    BitBlt(mdc,0,0,2*bm.bmHeight,2*bm.bmWidth,bufdc,0,0,SRCCOPY);
    
    
                    SelectObject(bufdc2,hbm2);
                    GetObject(hbm2,sizeof(BITMAP),&bm);
                    DrawTransBitmap(mdc,300,500,0.125*bm.bmWidth,0.125*bm.bmHeight,bufdc2,300,0,RGB(255,255,255));
    
    
    
                    BitBlt(hdc,0,0,2*bm.bmHeight,2*bm.bmWidth,mdc,0,0,SRCCOPY);
                    DeleteDC(hdc);
                    DeleteDC(mdc);
                    DeleteDC(bufdc);    
                    break;
    

    这个是代码

    评论

报告相同问题?

悬赏问题

  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集