[文档说明](https://nihaojob.gitbook.io/editor/) | [English](https://github.com/nihaojob/vue-fabric-editor/blob/main/README-en.md) | 中文
# vue-fabric-editor
[Demo](https://nihaojob.github.io/vue-fabric-editor/) 基于 fabric.js 和 Vue 开发的图片编辑器,可自定义字体、素材、设计模板。
![image](https://user-images.githubusercontent.com/13534626/230828335-0adee0ae-b951-4171-b6ba-d2b9cd44dd6a.png)
## 已有功能
[功能介绍文章](https://juejin.cn/post/7222141882515128375) 文字 + 动图。
- 导入 JSON 文件
- 保存为 PNG、SVG、JSON 文件
- 插入 SVG、图片文件
- 多元素水平、垂直对齐方式
- 字体模板
- 组合/拆分组合
- 图层及顺序调整
- 撤销/重做
- 背景属性设置
- 外观属性/字体属性/描边/阴影
- 自定义字体
- 自定义模板素材
- 快捷键
- 右键菜单
- 辅助线
- 标尺
- 图片替换
- 图片滤镜
- 国际化
## 使用
### 启动项目
请先安装node.js v16,然后执行以下命令:
```
yarn install
yarn serve
```
为非web前端开发人员准备了[部署教程](https://t.zsxq.com/0drqSuyjY),快速解决你的部署需求。
### 自定义素材
可自定义字体、设计模板、标题模板等,所有自定义素材在https://github.com/nihaojob/vue-fabric-editor-static 项目中保存。
我们通过有偿的方式积累高质量的常见问题、最佳实践文档,欢迎加入星球:
<img src="https://user-images.githubusercontent.com/13534626/231202037-18fe913f-81ab-4cd6-aa87-ada471e27586.png" width="50%" >
## 贡献指南
项目致力于打造一个开箱即用的web图片编辑器应用,同时沉淀一个介于web图片编辑器应用与fabric.js之间的封装层,期望封装层面向开发者设计,提供更简单的接口,让开发者可以轻松的实现图片应用开发。
我们离目标还有很长的距离,如果你对这件事情感兴趣,真诚的邀请你加入,我们一起沉淀fabric.js的最佳实践,你会得到包括不限于以下列表的收获,你只要会简单的Git和Javascript语法就可以。
- 熟悉开源协作方式,成为项目贡献者。
- Vue3 + TS实践,边学边开发。
- fabric.js开发,边学边开发。
- 入门单元测试,边学边开发。
- 众多的fabric.js开发者交流。
- 图形编辑器架构经验。
目前有很多需要做的工作,比如英文文档的搭建、SDK拆分等,欢迎与我联系,我愿意与你进行任何问题的交流,微信:13146890191。期待你的 issue 和 PR 。
这是我发表在掘金社区关于编辑器的技术笔记,会有更多的细节:
1. [使用 fabric.js 快速开发一个图片编辑器](https://juejin.cn/post/7155040639497797645),
2. [fabric.js开发图片编辑器的细节实现](https://juejin.cn/post/7199849226745430076)
注:如果遇到技术问题,期望使用 issue 讨论,它更加开放与透明,足够多的信息会让解决问题变得更高效,参考[提问的智慧](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md#%E6%8F%90%E9%97%AE%E7%9A%84%E6%99%BA%E6%85%A7)。
<!-- <img src="https://user-images.githubusercontent.com/13534626/231202488-f35be6bc-617a-412e-831e-b3764466d833.jpeg" width="20%"> -->
## 规划
### 可能新增功能
第一阶段
- [x] 缩放
- [x] 三角形、箭头、线条
- [x] 复制 粘贴 快捷键
- [x] 拖动模式,放大缩小
- [x] 画布大小保存
- [x] 绘制线条
- [ ] svgIcon 汇总
- [x] 标题样式列表模板
- [x] 预览
第二阶段
- [x] 图片替换
- [x] 渐变配置
- [ ] 平铺背景、等比例背景
- [ ] 图片裁剪
- [x] 滤镜
- [x] 描边 strokeDashArray
第三阶段
- [ ] monorepo升级 进行中
- [ ] 标尺插件
- [ ] 截图插件
- [ ] 滤镜插件
- [ ] 画布插件
- [ ] 其他工具函数
- [ ] @fabricEditor SDK封装
- [ ] 基于插件开发移动端
- [ ] 基于插件开发其他图片应用
- [ ] 文档建设(中英文)
## 致谢
- [color-gradient-picker-vue3](https://github.com/Qiu-Jun/color-gradient-picker-vue3) 一个 vue3 版本的渐变组件,作者[Qiu-Jun
](https://github.com/Qiu-Jun)。
## 贡献者
<!-- readme: collaborators,contributors -start -->
<table>
<tr>
<td align="center">
<a href="https://github.com/nihaojob">
<img src="https://avatars.githubusercontent.com/u/13534626?v=4" width="80;" alt="nihaojob"/>
<br />
<sub><b>nihaojob</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/Qiu-Jun">
<img src="https://avatars.githubusercontent.com/u/24954362?v=4" width="80;" alt="Qiu-Jun"/>
<br />
<sub><b>Qiu-Jun</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/liumingye">
<img src="https://avatars.githubusercontent.com/u/8676207?v=4" width="80;" alt="liumingye"/>
<br />
<sub><b>liumingye</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/bigFace2019">
<img src="https://avatars.githubusercontent.com/u/55651401?v=4" width="80;" alt="bigFace2019"/>
<br />
<sub><b>bigFace2019</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/hudenghui">
<img src="https://avatars.githubusercontent.com/u/17875293?v=4" width="80;" alt="hudenghui"/>
<br />
<sub><b>hudenghui</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/xiaozhuclassmate">
<img src="https://avatars.githubusercontent.com/u/87807886?v=4" width="80;" alt="xiaozhuclassmate"/>
<br />
<sub><b>xiaozhuclassmate</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/liucity">
<img src="https://avatars.githubusercontent.com/u/12006542?v=4" width="80;" alt="liucity"/>
<br />
<sub><b>liucity</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/icleitoncosta">
<img src="https://avatars.githubusercontent.com/u/3260480?v=4" width="80;" alt="icleitoncosta"/>
<br />
<sub><b>icleitoncosta</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/macheteHot">
<img src="https://avatars.githubusercontent.com/u/26652329?v=4" width="80;" alt="macheteHot"/>
<br />
<sub><b>macheteHot</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/makeng">
<img src="https://avatars.githubusercontent.com/u/23654388?v=4" width="80;" alt="makeng"/>
<br />
<sub><b>makeng</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/slarkerino">
<img src="https://avatars.githubusercontent.com/u/7014849?v=4" width="80;" alt="slarkerino"/>
<br />
<sub><b>slarkerino</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/vvbear">
<img src="https://avatars.githubusercontent.com/u/32010827?v=4" width="80;" alt="vvbear"/>
<br />
<sub><b>vvbear</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/wozhi-cl">
<img src="https://avatars.githubusercontent.com/u/25359239?v=4" width="80;" alt="wozhi-cl"/>
<br />
<sub><b>wozhi-cl</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/xiaozeo">
<img src="https://avatars.githubusercontent.com/u/13568242?v=4" width="80;" alt="xiaozeo"/>
<br />
<sub><b>xiaozeo</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/luke358">
没有合适的资源?快使用搜索试试~ 我知道了~
一款开源Web图片编辑器,助开发者快速构建图片编辑器应用
共115个文件
vue:32个
ts:29个
js:8个
9 下载量 29 浏览量
2023-05-08
13:57:05
上传
评论 4
收藏 2.42MB ZIP 举报
温馨提示
帮助开发者快速构建图片编辑器应用 它是一款基于Fabric + Vue3开发的一款开源Web图片编辑器,二次开发简单、扩展便捷,可帮助开发者快速构建一个面向非专业设计人员的图形编辑器。 项目以Fabric.js 为底层,使用Vue3框架和精致的View UI Plus组件库构建。Fabric.js 是业界知名的Canvas工具库,它已经12岁了,在业界得到了广泛的应用和认可;Vue提供更友好的入门曲线,尤其在国内应用更广;希望借助这些优秀的开源项目,构建底层强大、上手容易、便捷扩展、开箱即用的开源图像编辑器产品。 四、功能概述 特点 功能完善:针对海报、图片编辑场景,基础功能完善,细节更丰富。 简单易用:简洁易用的交互方式,供非专业设计人员。 扩展便捷:业务层使用Vue开发,上手更块,Fabric.js做底层。 应用场景 它适用于海报设计、封面设计、T恤设计、奖状/工卡设计、电子价签设计、印章设计、手机壁纸、PPT设计等场景,还有更复杂的工业软件场景,如机房拓扑拓展、设备巡检图等。 与其他产品区别 已经有一些比较专业的开源编辑器项目,比如知名的SVGEdit项目,它们很强大,类似在
资源推荐
资源详情
资源评论
收起资源包目录
一款开源Web图片编辑器,助开发者快速构建图片编辑器应用 (115个子文件)
.browserslistrc 30B
commit-msg 88B
font.css 161B
.env.development 50B
.editorconfig 160B
.env 105B
.gitignore 281B
index.html 1012B
favicon.ico 4KB
initializeLineDrawing.js 3KB
.eslintrc.js 1KB
select.js 1KB
Arrow.js 1KB
.prettierrc.js 1KB
font.js 369B
index.js 275B
commitlint.config.js 70B
zh.json 4KB
en.json 4KB
pt.json 3KB
package.json 2KB
tsconfig.json 557B
settings.json 311B
tsconfig.node.json 142B
index.module.less 4KB
resetViewUi.less 1KB
index.less 261B
variable.less 0B
LICENSE 1KB
README.md 8KB
CODE_OF_CONDUCT.md 5KB
README-en.md 2KB
CONTRIBUTING.md 1KB
Sepia.png 58KB
Brownie.png 54KB
Vintage.png 54KB
Invert.png 54KB
Polaroid.png 53KB
technicolor.png 53KB
Kodachrome.png 53KB
BlackWhite.png 46KB
pre-commit 68B
.prettierignore 241B
.env.production 45B
.env.staging 16B
rotateicon.svg 2KB
middlecontrolhoz.svg 997B
middlecontrol.svg 933B
edgecontrol.svg 904B
ruler.ts 17KB
initAligningGuidelines.ts 9KB
EditorWorkspace.ts 7KB
initControls.ts 7KB
index.ts 5KB
utils.ts 4KB
guideline.ts 4KB
initControlsRotate.ts 3KB
utils.ts 3KB
EditorGroupText.ts 3KB
initHotKeys.ts 3KB
vite.config.ts 2KB
index.ts 2KB
select.ts 2KB
type.d.ts 2KB
notifier.ts 1KB
initCenterAlign.ts 1KB
index.ts 1KB
extends.d.ts 1012B
local.ts 843B
math.ts 633B
env.d.ts 603B
main.ts 531B
types.ts 342B
index.ts 225B
routes.ts 192B
modules.ts 154B
index.ts 74B
app.ts 66B
App.tsx 282B
华康金刚黑.ttf 1.62MB
汉体.ttf 1.35MB
attribute.vue 26KB
tools.vue 18KB
layer.vue 17KB
align.vue 14KB
inputNumber.vue 14KB
filters.vue 12KB
index.vue 9KB
svgEl.vue 8KB
color.vue 6KB
index.vue 6KB
group.vue 4KB
zoom.vue 4KB
importFile.vue 4KB
save.vue 3KB
importTmpl.vue 3KB
centerAlign.vue 3KB
flip.vue 3KB
bgBar.vue 3KB
history.vue 3KB
共 115 条
- 1
- 2
资源评论
weixin_37576193
- 粉丝: 2612
- 资源: 109
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功