首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#画布有关问题

2012-06-11 
C#画布问题C#中窗体定义为画布如何只清除一些指定的图画 而留下其他求方案画画方法返回都是void要清图画的

C#画布问题
C#中窗体定义为画布 如何只清除一些指定的图画 而留下其他

求方案 画画方法返回都是void 要清图画的话 我只了解 清整个画布 .Clear();

[解决办法]
这可没办法,画了之后就是一个整体了,要不你把不要清除的那部分备份下,要清除时把备份的覆盖上去
[解决办法]
假如你先画了张风景图当背景,又画了两个人上去,现在要把第二个人换成别的,就该在画了风景图,又画了第一个人后,把当前的画布复制一份保存,然后再画第二个人,你要去掉第二个人了,就把保存的那份画布上的内容画到当前画布来,通过这样的方式来清除一部分内容
[解决办法]

探讨
这样工作量也太大了吧 我如果要其中一个元素做成动态 其他元素不动 那它每次动 我就需要画张新的 如果再加上我让其他元素依照不同的运动轨迹动 那.............

[解决办法]
画布部分刷新分两步走。
第一步,把bitmap更新。一般使用graphics的各种draw或fill可以只更新一小部分,但是要知道更新了哪部分。
第二步,调用界面控件的Invalidate(new Rectangle())这里就是发消息给系统,让他重绘屏幕的Rectangle这一部分。

这样就部分刷新了。

热点排行