转发原文地址:https://segmentfault.com/a/1190000039701868

前沿:一个流程图设计器需要什么?一个是图的绘制能力、基于svg或者canvas来绘制各种形状的节点(矩形、圆形、多边形)以及线,一个是图与图之间的交互包括拖拽,节点之间的连线等,最后是画布面板的便捷性,其中包括:比如ps中的网格功能、对其线、步骤回撤、画布的可伸缩、快捷按钮等等,那前端社区有啥开源解决方案,方便我们快速开发一个属于自己的流程图设计器?

1.绘图能力

提到绘图能力,web主要有两种实现方式:Canvas及Svg,我们看看这两种有什么差异

  Canvas SVG
操作对象 基于像素(动态点阵图) 基于图形元素
驱动 只能脚本驱动 支持脚步以及CSS
事件交互 用户交互到像素点(x,y) 用户交互到图形元素
性能 适合小面积、大数量应用场景 适合大面积,小数量应用面积

基于流程图的场景:节点不会太多,加上节点都是静态图,没有太多动态渲染,那svg可能更适合,而且svg具备高保本,但是如果在大规模数据或图元的情况下请谨慎选择,毕竟性能会差些

版权声明:本文为phoebeyue原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/phoebeyue/p/14780344.html