摘要:        
之前做了个用指针标记位置的,换了个思路用2个队列实现一下:(类似浏览器的前进后退逻辑,撤销后重做,会丢弃撤销前的步骤) 1、2个数组保存所有步骤: 历史队列 previous,未来队列 future,画布内容永远为 previous 队列最后一个值 2、每次 增删改 操作,都会将当前画布序列化,并压    阅读全文
posted @ 2022-04-26 14:39
名字不好起啊
阅读(736)
评论(0)
推荐(0)
        
            
        
        
摘要:        
画布的保存撤销等,都需要进行序列化当前画布内容。 那额外定义的属性目前 fabric 是不会自己去序列化,于是就有了扩展 toObject 的解决方法: let rect = new fabric.Rect(Rect.defaultRect()); rect.toObject = (function    阅读全文
posted @ 2022-04-26 13:47
名字不好起啊
阅读(193)
评论(0)
推荐(0)
        
            
        
        
摘要:        
画布上的 操作,撤销保存重做是少不了的,记录下实现:(项目中的撤销重做逻辑) 1、主要逻辑就是一个数组 operateList 保存所有步骤 2、每次 增删改 操作,都会将当前画布序列化,并插入当前指针 +1 项,这是防止后续可能存在步骤(而不能简单的 push 在队尾) 3、撤销,判断前一针是否有    阅读全文
posted @ 2022-04-26 13:38
名字不好起啊
阅读(472)
评论(0)
推荐(0)
        
 
                     
                    
                 
                    
                
 
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号