c# GDI填充矩形重绘时不会出现闪烁,但画图就会出现我闪烁问题,这是为什么?

c# GDI填充矩形重绘时不会出现闪烁,但画图就会出现我闪烁问题,这是为什么?
graphics.FillPolygon(brush, ptRect, System.Drawing.Drawing2D.FillMode.Winding);
graphics.DrawImage(bp, Rectangle); //会不断闪烁,为啥

画图是在重新绘制页面,每画一次就要刷新一次,所以就会闪,这是无法解决的,不过可以吧闪烁降低,就是你把绘制区域单独做成用户控件,然后放在你的主界面上,这样绘图的时候只会刷新你画的那一块,整个主界面不会闪!
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-18
这是因为显卡GPU绘图时比较慢,所以会造成闪烁的问题,需要用双缓冲绘图的方式进行绘制。才能克服闪烁问题。

给你一个我用GDI+写的动画时钟控件,里面就使用了双缓冲绘制。
http://download.csdn.net/detail/renstarone/5773661
第2个回答  2013-07-03
“bp”图片大就会闪烁呗。

c# GDI填充矩形重绘时不会出现闪烁,但画图就会出现我闪烁问题,这是为什 ...
画图是在重新绘制页面,每画一次就要刷新一次,所以就会闪,这是无法解决的,不过可以吧闪烁降低,就是你把绘制区域单独做成用户控件,然后放在你的主界面上,这样绘图的时候只会刷新你画的那一块,整个主界面不会闪!

相似回答