前言 大佬走过,小菜留下。 该文讲述我如何把撤销重做功能做到让我自己满意。 这篇随笔起于公司项目需要一个撤销重写功能,因为是图形设计。 第一想法 起初第一想法是保存整个操作对象,然后撤销就重新换整个对象就ok了。在群里讨论的时候也只是说这种方式,可能隐藏大佬没出现 这种方法大佬群里直接 ...
前段时间研究了下涂鸦功能的实现,其实单独的涂鸦实现起来还是挺简单的,关键的技术难点是撤销与重做功能的实现。但是这里暂时只说明下涂鸦功能的实现,高手勿喷哈,而且该功能在Android SDK提供的APIDemo当中就有的,但是如果能够将该地方的知识点搞懂的话,我认为View画图基本上是难不倒你了,特别是里面为什么要用一个中间的Bitmap。老规矩,还是先看看效果图吧: : : 上传 下载附件 . K ...
2012-03-16 16:18 2 6103 推荐指数:
前言 大佬走过,小菜留下。 该文讲述我如何把撤销重做功能做到让我自己满意。 这篇随笔起于公司项目需要一个撤销重写功能,因为是图形设计。 第一想法 起初第一想法是保存整个操作对象,然后撤销就重新换整个对象就ok了。在群里讨论的时候也只是说这种方式,可能隐藏大佬没出现 这种方法大佬群里直接 ...
当你在设计专注于数据创建或者修改的应用(比如文本或图像编辑器)时,终端用户的一个共同需求就是能够撤销或重做他们的一些操作。这是一个很重要的考虑因素,因为知道操作步骤可以安全、轻松的撤销,可以让用户增加对你们应用的信心。 因此,你已经决定尝试讲一个撤销系统集成到你们的工程中去,但是再此之前 ...
.Net为我们提供了众多的泛型集合。比如,Stack<T>先进后出,Queue<T>先进先出,List<T>集合元素可排序,支持索引,LinkedList<T>,双向链表的泛型实现,不支持索引;ISet<T>不允许被复 ...
在vi中按u可以撤销一次操作 u 撤销上一步的操作Ctrl+r 恢复上一步被撤销的操作 注意:如果你输入“u”两次,你的文本恢复原样,那应该是你的Vim被配置在Vi兼容模式了。重做如果你撤销得太多,你可以输入CTRL-R(redo)回退前一个命令。换句话说,它撤销一个撤销。要看执行的例子 ...
在一些软件系统中,需要用到手写涂鸦的功能,然后可以将涂鸦的结果保存为图片,并可以将“真迹”通过网络发送给对方。这种手写涂鸦功能是如何实现的了?最直接的,我们可以使用Windows提供的GDI技术或GDI+技术来实现绘图功能。但是,要实现一个如此简单的涂鸦板,也不是那么容易的事情。幸运 ...
程序开发中我们经常会用到的两个快捷键Ctrl+Z和Ctrl+C,撤销和复制,Cocoa开发也可以实现这两个操作,为我们提供非常简单的操作类NSUndoManger,也可以称之为撤销管理器,NSUndoManger内部维护两个栈,undo栈和redo栈。创建一个可撤销的操作需要创建一个逆向的操作 ...
前言 本文及以后该系列的篇章都是本人对 《游戏编程模式》这本书的阅读理解,从中对一些原理,用更直白的语言描述出来,并对部分思路或功能进行初步实现。而本文所描述的 命令模式, 相信读者应该都有了解过或听说过,如果尚有疑惑的读者,我希望本文能对你有所帮助。 命令模式是设计模式中的一种,但该系列所指 ...
我实现的思路: 1.继承ImageView类 2.重写onTouchEvent方法,在ACTION_MOVE(即移动时),记录下所经过的点坐标,在ACTION_UP时(即手指离开时,这时一条线已经画完),将所画的线(点的集合)保存在一个集合中 3.重写onDraw方法,利用canvas ...