VC2008环境下求一高手解决gdi+绘图闪烁问题
如题,求吧移动时候闪烁的问题解决,同时其他不变。求项目代码,只要实现图形旋转且不闪烁就行,无论你用VC++下什么框架做都行(注意是c++),但是必须用到双缓冲技术。谢谢,...
如题,求吧移动时候闪烁的问题解决,同时其他不变。求项目代码,只要实现图形旋转且不闪烁就行,无论你用VC++下什么框架做都行(注意是c++),但是必须用到双缓冲技术。谢谢,代码发我邮箱504460664@qq.com
展开
1个回答
展开全部
我有写博客,都采用了双缓冲绘图的方式,用的是VC++的GDI+画法。请到CSDN下载,免费的。我这里无法发送CPP文件。
一个是:时钟控件:
http://blog.csdn.net/renstarone/article/details/9089835
另一个是:带滚动效果的进度条
http://blog.csdn.net/renstarone/article/details/9230763
一个是:时钟控件:
http://blog.csdn.net/renstarone/article/details/9089835
另一个是:带滚动效果的进度条
http://blog.csdn.net/renstarone/article/details/9230763
追问
你有邮箱吗? 我发个项目给你。很小。就一个指针。你的代码我看了 好多双缓冲 不怎么懂。求帮我改正 。新加的代码求标注下。
追答
我的邮箱是3099jo@163.com
双缓冲原理其时很简单。
CPU的绘图速度比GPU(显卡)快很多,所以你的描绘都需要在CPU里完成。
窗口执行WM_PAINT消息时,也就是让GPU进行描绘,所以这个时候不要有多余的操作,只用画一张Bitmap就好了,这样就不会引起闪烁了。
为了让CPU画图,你需要动态创建一张Bitmap进行描绘,描绘完毕后,再在WM_PAINT消息里一次进行DrawImage即可。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询