一个与渲染器无关的 Web 二维绘图 API,同一套代码可用 WebGL、Canvas 2D 或 SVG 渲染。
paperjs/paper.js
Paper.js 是一个基于 HTML5 Canvas 的 JavaScript 矢量图形脚本库,可在浏览器或 Node.js 中绘制和编辑路径。
- Star
- 15,190
- Fork
- 1,261
- 未关闭 Issue
- 27
- 最近提交
- 11小时前
这是什么?
Paper.js 是矢量图形脚本工具 Scriptographer 的 JavaScript 版本,提供路径、形状、文本、分组和符号组成的场景图,可以通过代码在 HTML5 Canvas 上创建和变换图形。
库通过 NPM 以 `paper` 包发布,适用于浏览器和打包工具;核心版本不包含 PaperScript 支持。配套的 `paper-jsdom` 与 `paper-jsdom-canvas` 支持在 Node.js 中无界面使用,前者通过 jsdom 导入导出 SVG,后者还借助 node-canvas 渲染,需要安装 Cairo 和 Pango。
项目使用 Gulp 与 pnpm 构建,测试基于 Vitest 和 Playwright。
核心功能
- 01在 Canvas 上管理路径、形状、文本、分组和符号组成的场景图。
- 02支持路径的变换与编辑操作。
- 03完整版浏览器构建支持 PaperScript。
- 04通过 jsdom 在 Node.js 中导入导出 SVG。
- 05通过 node-canvas 在 Node.js 中进行 Canvas 渲染。
适用场景
- 在浏览器中制作交互式矢量图或动画。
- 在 Node.js 服务端脚本中生成或处理 SVG 图形。
- 开发基于 Canvas 的图形编辑器或图表工具。
快速上手
- 1
在项目文件夹中通过 NPM 安装 Paper.js
npm install paper - 2
用打包工具导入,并在 canvas 元素上调用 paper.setup()
使用前须知
- 项目元数据未识别出许可证,使用前请先查看仓库中的许可证。
- 在 Node.js 中使用 Canvas 渲染(paper-jsdom-canvas)需要先安装原生的 Cairo 和 Pango 库。
标签
常见问题
- paper.js 是什么?
- Paper.js 是一个基于 HTML5 Canvas 的 JavaScript 矢量图形脚本库,可在浏览器或 Node.js 中绘制和编辑路径。 Paper.js 是矢量图形脚本工具 Scriptographer 的 JavaScript 版本,提供路径、形状、文本、分组和符号组成的场景图,可以通过代码在 HTML5 Canvas 上创建和变换图形。
- paper.js 可以免费使用吗?用的什么许可证?
- paper.js 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- paper.js 还在维护吗?
- 活跃维护中。paper.js 最近一次提交是在 2026年11月6日。
- paper.js 适合用来做什么?
- 在浏览器中制作交互式矢量图或动画。 在 Node.js 服务端脚本中生成或处理 SVG 图形。 开发基于 Canvas 的图形编辑器或图表工具。
- paper.js 怎么安装和运行?
- 在项目文件夹中通过 NPM 安装 Paper.js: npm install paper 用打包工具导入,并在 canvas 元素上调用 paper.setup()
- 在哪里获取 paper.js?
- 源代码和安装说明在 GitHub 上:https://github.com/paperjs/paper.js
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
用纯 Rust 从零编写的开源矢量插画应用,支持桌面端、FreeBSD 及浏览器(WebAssembly)。
基于 HTML5 Canvas 的 JavaScript 框架,用于构建交互式 2D 图形、设计编辑器、白板和图表。
轻量级 JavaScript 动画库,可为 CSS 属性、SVG、DOM 属性和普通对象添加动画。
一个用于网页的 JavaScript 动效库,提供形状、旋涡、爆发等声明式动画组件。
一个 Claude Code 技能,可将简短主题生成节拍同步的动态图形视频,并通过 HyperFrames 渲染为 MP4。