# yft-design
**Repository Path**: feiling0825/yft-design
## Basic Information
- **Project Name**: yft-design
- **Description**: 一幅图设计,使用 Vue3+ TypeScript + fabric.js + pinia + element-plus + pwa,支持 文字、图片、形状、线条、二维码 、条形码几种最常用的元素类型,每一种元素都拥有高度可编辑能力,缩略图显示,模板,支持导出json,svg, image文件
- **Primary Language**: TypeScript
- **License**: GPL-3.0
- **Default Branch**: beta12
- **Homepage**: https://yft.design
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 147
- **Created**: 2023-11-20
- **Last Updated**: 2023-11-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# yft-design
一幅图设计,使用 Vue3 + TypeScript + Fabric.js + Element-Plus,支持 文字、图片、形状、线条、二维码 、条形码几种最常用的元素类型,每一种元素都拥有高度可编辑能力,缩略图显示,模板,支持导出json,svg, image文件。
快速体验:[https://yft.design](https://yft.design)
体验Demo:[https://dromara.org/yft-design](https://dromara.org/yft-design)

# 📋 色彩演示

# 🚀 项目运行
```
npm install
npm run dev
npm run build
```
# 📖 项目结构
```
├── app // 静态资源
│ ├── fabricCanvas // FabricCanvas
│ ├── fabricControls // 选择器
│ ├── fabricRuler // 标尺
│ ├── fabricTool // 拖动
│ ├── guideLines // 辅助线
│ ├── hoverBorders // 预选择
│ └── wheelScroll // 缩放
├── assets // 静态资源
│ ├── fonts // 在线字体文件
│ └── styles // 样式
├── components // 与业务逻辑无关的通用组件
├── configs // 配置文件,如:颜色,字体。
├── hooks // 供多个组件(模块)使用的 hooks 方法
├── extension // 自定义fabirc对象
│ ├── controls // 裁剪图片controls
│ ├── mixins // 裁剪图片mixins
│ └── object // 自定义元素对象
├── mocks // mocks 数据
├── plugins // 自定义的 Vue 插件
├── types // 类型定义文件
├── store // Pinia store,参考:https://pinia.vuejs.org/
├── utils // 通用的工具方法
├── views // 业务组件目录。
│ ├── Canvas // 编辑器对象
│ └── Editor // 编辑器模块
└── worker // web worker
```
# 📚 功能列表
### 基础功能
- 历史记录(撤销、重做)
- 快捷键
- 右键菜单
- 导出本地文件(SVG、图片、PDF(TODO))
### 页面编辑
- 页面添加、删除
- 页面顺序调整
- 页面复制粘贴(TODO)
- 背景设置(纯色、渐变、图片)
- 设置画布尺寸
- 网格线(TODO)
- 标尺
- 画布缩放、移动
- 页面模板
- 选择面板(隐藏元素、层级排序、元素命名)(TODO)
### 页面元素编辑
- 元素添加、删除
- 元素复制粘贴
- 元素拖拽移动
- 元素旋转
- 元素缩放
- 元素多选(框选、点选)
- 多元素组合
- 多元素批量编辑(TODO)
- 元素锁定(TODO)
- 元素吸附对齐(移动和缩放)
- 元素层级调整
- 元素对齐到画布
- 元素坐标、尺寸和旋转角度设置
#### 文字
- 文本编辑(颜色、高亮、字体、字号、加粗、斜体、下划线、删除线、对齐方式、项目符号、缩进、清除格式)
- 行高
- 字间距
- 段间距
- 填充色
- 阴影
- 透明度
#### 图片
- 滤镜
- 着色(蒙版)
- 翻转
- 边框
- 阴影
#### 形状
- 填充色
- 边框
- 阴影
- 透明度
- 翻转
- 编辑文字
#### 线条
- 颜色
- 宽度
- 样式