永发信息网

C#画图如何撤销

答案:5  悬赏:80  手机版
解决时间 2021-02-28 13:33
  • 提问者网友:几叶到寒
  • 2021-02-27 15:37
Graphics画图如何撤销上一步的操作。。。

用C#。。。
最佳答案
  • 五星知识达人网友:持酒劝斜阳
  • 2021-02-27 16:59
思路应该是: 一次操作完成后,保存这次操作的全部信息,如果要恢复就得重新执行这次操作,如果你允许程序回退多次,就要保存多次临时信息
全部回答
  • 1楼网友:狂恋
  • 2021-02-27 21:40
首先,你画图要有画板吧?你在什么地方画东西?所以需要 graphics, 有了画板你得有笔来画线条啊 所以有了pen 恩,写什么字好看呢?狂草还是楷书?多大的字才好?我们需要一个font 你要在什么地方开始画?画多大面积?所以有了point,size. 画出了轮廓你得上色啊?怎么上色?所以有了brush 如果你要修改一张图片怎么办? 你需要有图片先吧? 所以有了image,但是电脑里图片有矢量,位图。。。。 image就成了抽象类,位图bitmap是image的实现类. 然后把图片夹到画板上才能修改啊 image image = image.fromfile("c:\\\\1.jpg"); graphics g = graphics.fromimage(image); 架上图片了你就可以在画板上涂改了啊 我要写多几个字上去 string str = "我恨baidu"; //写什么字? font font = font("宋体",30f); //字是什么样子的? brush brush = brushes.red; //用红色涂上我的字吧; pointf point = new pointf(10f,10f); //从什么地方开始写字捏? //横着写还是竖着写呢? system.drawing.stringformat sf = new system.drawing.stringformat(); //还是竖着写吧 sf.formatflags = stringformatflags.directionvertical //开始写咯 g.drawstring(str,font,brush,point,sf); //写好了,我要把我的作品收藏起来 image.save("c:\\\\1.jpg");
  • 2楼网友:撞了怀
  • 2021-02-27 20:06
你可以用双倍缓冲技术,
  • 3楼网友:英雄的欲望
  • 2021-02-27 19:05
取当前前一步画图底色,用同样动作画同样图案覆盖,
  • 4楼网友:七十二街
  • 2021-02-27 17:30
每执行一个动作对Graphics的Image备份一下,恢复的时候重绘备份的Image
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯