图形绘制是Canvas中最基本的内容,但是Canvas本身提供的api比较基础,开发起来低效。而且也缺少完整的事件系统、区域监测、缓存等等。
1.Konva
Konva是一个 HTML5 Canvas JavaScript 框架, 通过扩展 Canvas 的 2D Context 让桌面端和移动端Canvas支持交互性,使其支持高性能动画、过渡、节点嵌套、分层、过滤、缓存、事件处理等等。
2.fabric.js (当前用的)
「Fabric.js」是一个可以轻松处理 HTML5 Canvas元素的框架,使得Canvas元素支持「交互式对象模型」,同时也是一个「SVG-to-Canvas」和「Canvas-to-SVG」的解析器fabricjs是和konva同类型但是比konva更老牌的一个的Canvas库
还适合放在node环境中使用
- 我认为这个库比别的库更成熟点
3.P5.JS
P5.js 专门为艺术家、设计师、教育和初学者打造,它不仅封装了Canvas API,还提供了一整套绘图和动画的解决方案。P5.js 以Processing 语言为基础,并将其理念带到了Web开发中。
-
便于绘图和创建动画,P5.js的函数命名直观易懂。
-
含有全面的数学运算与渲染功能,可以创建精彩的视觉效果。
-
拥有广泛的社区支持,大量的教程和例程使得入门和提高均非常容易。使用场景
-
艺术作品和创意编程。
-
教育领域,尤其是编程和图形设计的初步学习。
-
互动网页和游戏。
4. PAPER.JS
Paper.js 是一个开源的矢量图形脚本框架,采用了Scriptographer的强大基础并结合了现代的web标准。它以Node.js风格提供高层次的Canvas绘图API。
-
强大的路径操作能力,支持复杂路径的创建、编辑和变换。
-
像处理对象一样处理图形,方便进行图形组合和控制。
-
独特的场景图模型(Scene Graph),可以非常灵活地组织和操纵所有的绘图元素。使用场景
-
矢量图形处理和动态视觉效果。
-
游戏开发,特别是需要复杂路径运算的场合。
-
高级图形应用程序,如图形编辑器。
Last updated on