GDI+编程画一条直线撤销的方法

wqz19 2008-11-18 03:11:22
就像我们平常用的ctrl+z方法啊o(∩_∩)o...用C#怎么来写啊?谢谢哦呵呵
...全文
194 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
aimeast 2008-11-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 gameboxer 的回复:]
引用 1 楼 lsldd 的回复:
1:用画笔的“反色”模式在原线条位置再画一次
2:画每条线之后保存线条的位置,颜色等属性,撤销的时候删除最后线条的数组,重绘屏幕所有线条即可。


就是这样子了.
可以用方法1跟方法2结合一下.
比如有一个画直线命令的类,它有个画直线的方法,并且还有两个方法,Redo和Undo.
其中Undo方法就用1楼的方案一.然后建一个Redo命令栈和一个Undo命令栈。每调用一次命令,就把该命令放的Undo栈。
[/Quote]
和还好很好!
孙晓军82 2008-11-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lsldd 的回复:]
1:用画笔的“反色”模式在原线条位置再画一次
2:画每条线之后保存线条的位置,颜色等属性,撤销的时候删除最后线条的数组,重绘屏幕所有线条即可。
[/Quote]

就是这样子了.
可以用方法1跟方法2结合一下.
比如有一个画直线命令的类,它有个画直线的方法,并且还有两个方法,Redo和Undo.
其中Undo方法就用1楼的方案一.然后建一个Redo命令栈和一个Undo命令栈。每调用一次命令,就把该命令放的Undo栈。
cyj626 2008-11-18
  • 打赏
  • 举报
回复
楼主发错了哦
qqwx_1986 2008-11-18
  • 打赏
  • 举报
回复
c#貌似不是在这里问
lsldd 2008-11-18
  • 打赏
  • 举报
回复
1:用画笔的“反色”模式在原线条位置再画一次
2:画每条线之后保存线条的位置,颜色等属性,撤销的时候删除最后线条的数组,重绘屏幕所有线条即可。

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧