Skip to Content

图形绘制是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