牧原通
105.29MB · 2025-10-29
写过原生 Canvas 的朋友都懂:
20 行起步,缩放、拖拽、层级管理全靠自己实现。5000 个元素,页面卡成幻灯片。于是,我们一边掉头发,一边默念:“有没有一款库,写得少、跑得快、文档还是中文?”
LeaferJS 是一款高性能、模块化、开源的 Canvas 2D 渲染引擎,专注于提供高性能、可交互、可缩放矢量图形的绘图能力。
它采用场景图(Scene Graph)架构,支持响应式布局、事件系统、动画、滤镜、遮罩、路径、图像、文本、滚动视图、缩放、拖拽、节点嵌套、分组等丰富功能。
PNG、JPEG、PDF、SVG 等多种格式,满足印刷级品质需求。Flex 布局,支持中心绘制,后端可批量生成图片。CSS 交互状态、光标。LeaferJS 最最核心的一点就是性能至上,和目前市面上比较流行的 Canvas 库对比:
# 1. 创建项目
npm create leafer@latest my-canvas
cd my-canvas
npm i
npm run dev
// 2. 写代码(index.ts)
import { Leafer, Rect } from 'leafer-ui'
const leafer = new Leafer({ view: window })
const rect = new Rect({
x: 100,
y: 100,
width: 200,
height: 200,
fill: '#32cd79',
cornerRadius: [50, 80, 0, 80],
draggable: true
})
leafer.add(rect)
浏览器访问 http://localhost:5173——圆角矩形已可拖拽!
想加 1 万个?直接 for 循环,依旧丝滑。
基于 Leafer + vue3 实现画板。
https://github.com/WHSnhcZDYRZC/drawingBoardfly-cut 在线视频剪辑工具。
https://github.com/x007xyz/flycut基于 LeaferJS 的贪吃蛇小游戏。
https://github.com/yh4922/leafer-greedy-snake一款美观且功能强大的在线设计工具,具备海报设计和图片编辑功能,基于 leafer.js 的开源版。
https://github.com/more-strive/tuhigh更多优秀案例,可以移步官网
https://www.leaferjs.com/LeaferJS 不是又一个“国产替代”,而是直接把 Canvas 的性能与体验拉到 Next Level。
它让开发者第一次敢在提案里写:“前端百万节点实时交互,没问题。”
如果你受够了原生 Canvas 的笨拙,也踩腻了国外库的深坑,不妨试试 LeaferJS——
https://www.leaferjs.com/