<a href="http://fabricjs.com/kitchensink" target="_blank"><img align="right" src="https://yellow-cdn.veclightyear.com/835a84d5/3c665f68-7587-4788-8505-80ecf95af21d.png" style="width:400px"></a>
一个简单而强大的Javascript HTML5 canvas库。
| 环境 | 支持的版本 | 注释 |
|---|---|---|
| Firefox | ✔️ | 58 |
| Safari | ✔️ | 11 |
| Opera | ✔️ | 基于Chromium |
| Chrome | ✔️ | 64 |
| Edge | ✔️ | 基于Chromium |
| Edge Legacy | ❌ | |
| IE11 | ❌ | |
| Node.js | ✔️ | Node.js 安装 |
Fabric.js默认不使用转译,我们支持的浏览器版本由我们想要使用的canvas API级别和一些JS语法决定。虽然JS可以轻松转译,但canvas API无法转译。
$ npm install fabric --save // 或 $ yarn add fabric
[][cdnjs]
[
][jsdelivr]
请参阅[浏览器模块][mdn_es6]以了解如何在浏览器中使用es6导入,或使用专用的打包工具。
Fabric.js依赖[node-canvas][node_canvas]作为canvas实现(HTMLCanvasElement的替代品)和[jsdom][jsdom]作为node上的window实现。
这意味着你可能会遇到node-canvas的限制和[bugs][node_canvas_issues]。
按照这些[说明][node_canvas_install]来设置和运行node-canvas。
<details><summary><b>普通HTML</b></summary>// v6 import { Canvas, Rect } from 'fabric'; // 浏览器 import { StaticCanvas, Rect } from 'fabric/node'; // node // v5 import { fabric } from 'fabric';
</details> <details><summary><b>ReactJS</b></summary><canvas id="canvas" width="300" height="300"></canvas> <script src="https://cdn.jsdelivr.net/npm/fabric"></script> <script> const canvas = new fabric.Canvas('canvas'); const rect = new fabric.Rect({ top: 100, left: 100, width: 60, height: 70, fill: 'red', }); canvas.add(rect); </script>
</details> <details><summary><b>Node.js</b></summary>import React, { useEffect, useRef } from 'react'; import * as fabric from 'fabric'; // v6 import { fabric } from 'fabric'; // v5 export const FabricJSCanvas = () => { const canvasEl = useRef<HTMLCanvasElement>(null); useEffect(() => { const options = { ... }; const canvas = new fabric.Canvas(canvasEl.current, options); // 使fabric.Canvas实例在你的应用中可用 updateCanvasContext(canvas); return () => { updateCanvasContext(null); canvas.dispose(); } }, []); return <canvas width="300" height="300" ref={canvasEl}/>; };
</details>import http from 'http'; import * as fabric from 'fabric/node'; // v6 import { fabric } from 'fabric'; // v5 const port = 8080; http .createServer((req, res) => { const canvas = new fabric.Canvas(null, { width: 100, height: 100 }); const rect = new fabric.Rect({ width: 20, height: 50, fill: '#ff0000' }); const text = new fabric.Text('fabric.js', { fill: 'blue', fontSize: 24 }); canvas.add(rect, text); canvas.renderAll(); if (req.url === '/download') { res.setHeader('Content-Type', 'image/png'); res.setHeader('Content-Disposition', 'attachment; filename="fabric.png"'); canvas.createPNGStream().pipe(res); } else if (req.url === '/view') { canvas.createPNGStream().pipe(res); } else { const imageData = canvas.toDataURL(); res.writeHead(200, '', { 'Content-Type': 'text/html' }); res.write(`<img src="https://raw.githubusercontent.com/fabricjs/fabric.js/master/${imageData}" />`); res.end(); } }) .listen(port, (err) => { if (err) throw err; console.log( `> 已在 http://localhost:${port}、http://localhost:${port}/view 和 http://localhost:${port}/download 上准备就绪`, ); });
查看我们现成可用的模板。
| 项目 | 描述 |
|---|---|
| [Three.js][three.js] | 3D 图形 |
| [PixiJS][pixijs] | WebGL 渲染器 |
| [Konva][konva] | 类似功能 |
| [html-to-image][html-to-image] | HTML 转图像/画布 |
fabricjs.com 上的演示][demos]Twitter 账号][twitter]CodeTriage 页面][code_triage]Stack Overflow 上的标签][so]jsfiddle 上的示例][jsfiddles]Codepen.io 上的示例][codepens]Twitter 账号][asturur_twitter]


职场AI,就用扣子
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!


多风格AI绘画神器
堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。


零代码AI应用开发平台
零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI论文写作指导平台
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号