VC2008环境下求一高手解决gdi+绘图闪烁问题

如题,求吧移动时候闪烁的问题解决,同时其他不变。求项目代码,只要实现图形旋转且不闪烁就行,无论你用VC++下什么框架做都行(注意是c++),但是必须用到双缓冲技术。谢谢,... 如题,求吧移动时候闪烁的问题解决,同时其他不变。求项目代码,只要实现图形旋转且不闪烁就行,无论你用VC++下什么框架做都行(注意是c++),但是必须用到双缓冲技术。谢谢,代码发我邮箱504460664@qq.com 展开
 我来答
任明星Ming
2013-08-16 · TA获得超过798个赞
知道小有建树答主
回答量:1061
采纳率:100%
帮助的人:1149万
展开全部
我有写博客,都采用了双缓冲绘图的方式,用的是VC++的GDI+画法。请到CSDN下载,免费的。我这里无法发送CPP文件。

一个是:时钟控件:
http://blog.csdn.net/renstarone/article/details/9089835
另一个是:带滚动效果的进度条
http://blog.csdn.net/renstarone/article/details/9230763
追问
你有邮箱吗? 我发个项目给你。很小。就一个指针。你的代码我看了 好多双缓冲 不怎么懂。求帮我改正 。新加的代码求标注下。
追答

我的邮箱是3099jo@163.com

双缓冲原理其时很简单。

  1. CPU的绘图速度比GPU(显卡)快很多,所以你的描绘都需要在CPU里完成。

  2. 窗口执行WM_PAINT消息时,也就是让GPU进行描绘,所以这个时候不要有多余的操作,只用画一张Bitmap就好了,这样就不会引起闪烁了。

  3. 为了让CPU画图,你需要动态创建一张Bitmap进行描绘,描绘完毕后,再在WM_PAINT消息里一次进行DrawImage即可。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式