利用GDI+中的DrawImage()函数绘制图形造成屏幕闪烁问题 我在CView类的OnPaint()函数里进行图形绘制,调用自己写的一个线程,线程中的图形绘制主要利用DrawImage()函数,绘制图形成功。但是如果拖动一个对话框到该图形上,图形会闪烁的非常厉害,我在OnEraseBKGrond()函数里已经返回了FALSE,没有解决该问题,大家有没有什么好的方法?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 刷新过于频繁,采用invalidate()后刷新处理. OnEraseBKGrond()函数应该返回TRUE 正解。直接返回true可以防止不必要的重画。 正解。直接返回true可以防止不必要的重画。 我试过了,在我的程序里是不行的,不管返回的是TRUE还是FALSE都不行 Bitmap bmp( 1024, 768 ); Graphics g( &bmp ); g.DrawImage( pimg, 0, 0 );//把要显示的内容都加在这儿。 CPaintDC dc(this); // device context for painting Graphics gx( dc ); gx.DrawImage( &bmp, 0, 0 );试试吧,一点也不闪了。 7楼的大哥,这句代码g.DrawImage( pimg, 0, 0 ); 是不是有问题啊,pimg是什么?? 7楼利用的也是双缓冲的原理 但是那张bmp创建了全屏可能有些浪费资源 pimg是Image*指针 Image img( "aaa.jpg" );Bitmap bmp( 1024, 768 ); Graphics g( &bmp ); g.DrawImage( &img, 0, 0 ); //把要显示的内容都加在这儿。 CPaintDC dc(this); // device context for painting Graphics gx( dc ); gx.DrawImage( &bmp, 0, 0 );这样就是比较完整的代码了。在vc++.net 2003 上测试通过。楼上的朋友说的对,要根据实际情况进行优化处理,效率更高。 *****************************************************************************欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/ 在接收重绘消息(类似WM_PAINT)的地方绘图,否则必然会闪。MFC许久不看了,没猜错的话应该是On_Paint之类的回调函数里面。 不好意思,没看清问题~~~~~>_<如果是调用另一个线程来画,有否有考虑过线程同步的问题?因为你拖一个对话框在上面,将引发反复调用On_Paint函数。此时若没有必要的同步保护(至少要有图形生成保护)就会闪。因为有可能绘制的是没有生成完全的图像。 求教一个问题,关于ping的,我不会发图片,贴了图片地址,请大侠指教一下? MSComm控件发送数据的问题!!!急急急!!! vc 如何动态存储数据(急急急!!!!!) 有关宏的简单问题 EN_CHANGE、LBN_SELCHANGE、CBN_SELCHANGE这三个消息的产生时机是怎样的,是否编辑控件中的内容一有改动就发送这些消息? 类型转化 求救!!------纯C编写命令行文件合并分割器 哪位兄弟写过com的程序,我有个小问题,很急得 mfc中模拟键盘控制游戏中的人物动作 猪尾问各位大哥:用VB可以打印数据库报表吗? 说说你代码中的防错处理 利用钩子怎样才能实现按下"1"显示"2"
正解。直接返回true可以防止不必要的重画。
Graphics g( &bmp );
g.DrawImage( pimg, 0, 0 );
//把要显示的内容都加在这儿。 CPaintDC dc(this); // device context for painting
Graphics gx( dc );
gx.DrawImage( &bmp, 0, 0 );试试吧,一点也不闪了。
Bitmap bmp( 1024, 768 );
Graphics g( &bmp );
g.DrawImage( &img, 0, 0 );
//把要显示的内容都加在这儿。 CPaintDC dc(this); // device context for painting
Graphics gx( dc );
gx.DrawImage( &bmp, 0, 0 );这样就是比较完整的代码了。在vc++.net 2003 上测试通过。楼上的朋友说的对,要根据实际情况进行优化处理,效率更高。
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/