GDI+绘图,如何实现局部刷新
如题所示,GDI+绘图,如何实现局部刷新,如何确定需要刷新的区域,跪求大侠指导
------解决方案--------------------对象.Invalidate(new Rectangle(10, 10, 100, 100)); //只刷新[0,0]-[100,100]这个区域
------解决方案--------------------如果只有一个控件,就是全部刷新的,只是你程序里不要重新运行所有的,比如系统要求刷新了,而你程序没有变什么,就直接返回缓存
------解决方案--------------------哪些区域需要刷新是你自己控制的,这个没什么能帮你吧。
------解决方案--------------------那要记录被污染的区域,然后重新绘制就好了吧。
使用GraphicsPath和region可以实现这个功能。
------解决方案--------------------
不知道就全刷吧。
------解决方案--------------------脏矩阵算法 这个和你实现的方式有很大的关系 要分块构造好绘画的界面,对引起改变的地方做判断
------解决方案--------------------我想你用鼠标操作,然后画出个矩形,然后这个矩形区域就是你要刷新的位置,然后获取这个区域的坐标值,再用二楼的方法不就好了?不知道这个方法咋样?
------解决方案--------------------
应该是将图形界面分区,然后分区进行刷新重绘,还有就是将绘画的图形在内存中保存静态图片,如果内容无变化的重绘速度很快。