前端可视化编辑器,我见过的,有以下几种方案
- 一是类似Google幻灯片那样,画布编辑区中的元素全用SVG做,可以对SVG元素进行路径编辑。
- 二是画布编辑区中的元素就是div之类的DOM元素。
- 三是画布区中放canvas。
如果你的项目对页面性能和功能要求不高,那么我觉得普通的DOM元素即可,方便你对DOM元素进行各种操作。
因为用了vue,其实右侧属性面板和画布区中元素的交互并没有什么难度,都是数据驱动。难点是是针对画布区中的元素进行各种编辑。
你要维护一份画布区中各个图层的层级关系(比如新拖入的元素一定是在最上层),也需要考虑是否有框选功能,是否有快捷键功能,元素是否有旋转功能等等,这些是需要根据你的实际需求去考虑的。
所以要做一个完整的编辑器,现成的插件是很难满足一个新项目的需求的,顶多其中某些组件或者部分算法你需要用其他已经实现过的案例来做。
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…