| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 411 人关注过本帖
标题:求教如何使用双缓冲绘图
只看楼主 加入收藏
OP_MoMo
Rank: 2
等 级:论坛游民
帖 子:7
专家分:37
注 册:2013-1-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
求教如何使用双缓冲绘图
之前没用双缓冲绘图,图形一直会闪烁
搜索更多相关主题的帖子: 图形 如何 
2013-01-28 14:50
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:20 
// 建立内存dc和bitmap

        CDC MemDc;
        CBitmap bitmap;
        MemDc.CreateCompatibleDC(NULL);
        bitmap.CreateCompatibleBitmap(&dc, rc.right - rc.left, rc.bottom - rc.top);
        CBitmap *pOldBitmap = MemDc.SelectObject(&bitmap);

        MemDc.StretchBlt(0, 0, rc.right - rc.left, rc.bottom - rc.top, &m_dcBackGroup, 0, 0, 600,388, SRCCOPY);
// 吧你的内容绘图进内存dc中去。

……………………
// 在吧内存dc的内容绘制到目标窗口中去
        dc.BitBlt(0, 0, rc.right - rc.left, rc.bottom - rc.top, &MemDc, 0, 0, SRCCOPY);
        MemDc.SelectObject(pOldBitmap);
        ReleaseDC(&dc);
        bitmap.DeleteObject();
        MemDc.DeleteDC();



上面的代码是之前做的一个作品中的一部分
双缓冲就是这样,先建立一个内存dc,吧所有的绘图都绘制到内存dc中去,在吧内存dc的内容绘图到目标dc中去





我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-01-28 17:25
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
如果要找实例,到这个链接区下载个吧,里面有用到双缓
https://bbs.bccn.net/thread-329982-1-1.html

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-01-28 17:28
OP_MoMo
Rank: 2
等 级:论坛游民
帖 子:7
专家分:37
注 册:2013-1-28
收藏
得分:0 
回复 2楼 yuccn
问题已解决,感谢版主
2013-01-29 08:20
快速回复:求教如何使用双缓冲绘图
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.060281 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved