区分无效刷新区域的两种方式——ClipRectangle和随机颜色

来源:互联网 发布:js提示框 编辑:程序博客网 时间:2024/06/06 23:18

无效区域在绘图编程中非常重要,根据每次的无效区域,我们可以判断程序的刷新,以提高绘图效率,这里指出两种方式获取无效区域。

第一种,在OnPaint()中,e.ClipRectangle就是系统保存程序的无效区域,可以直接获得,然后打印出来。

第二种,在每次绘图时,先刷新此次绘图的背景,注意不是整个背景区域,而背景的填充色用随机颜色,如Random r = new Random(); brush.Color = Color.FromRgb(r.Next(255), r.Next(255), r.Next(255));如此,可以非常直观的看到那些区域重绘了。提示:随机颜色对发掘绘图刷新非常有帮助,进一步随机数在很多时候对探寻某些机制很有帮助。

上图的右边字体颜色很杂,而左边颜色单一,那是因为来回移动时,右边区域发生了多次局部重绘,而左边一直没有重绘。