MCPcopy Index your code
hub / github.com/dromara/yft-design

github.com/dromara/yft-design @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,581 symbols 3,245 edges 226 files 82 documented · 5%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

yft-design

1,一款美观且功能强大的在线设计工具,具备海报设计和图片编辑功能,基于Canvas的开源版【稿定设计】。适用于多种场景,如海报生成、电商产品图制作、文章长图设计、视频/公众号封面编辑等。
2,适配稿定设计pdf还原,支持导入psd还原
3,可导出图片,svg,pdf

📞 联系我们

🌐 在线体验

版本 链接 描述
Demo https://demo.yft.design 免费体验版本
Pro https://yft.design 专业完整版本

💬 联系方式

平台 联系方式 说明
微信 15972699417 添加微信获取技术支持
邮箱 yft.design@163.com 商务合作与技术支持
Telegram 加入群组 技术交流与社区讨论

🚀 开发状态

介绍文章
介绍视频

image

psd解析 pdf解析
psd解析 pdf解析

🚀 项目运行

node >= 16+
pnpm install  // 安装依赖
pnpm dev      // debug
pnpm build    // prod

📖 项目结构

├── 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

📚 功能列表

基础功能

  • 历史记录(撤销、重做)
  • 快捷键
  • 右键菜单
  • 导入PDF(完美还原格式,不支持图片裁切导入)
  • 导入PSD(完美还原格式,支持部分特效还原,亮度,对比度,颜色覆盖)
  • 导入SVG(不支持tspan字体)
  • 导出本地文件(SVG、图片、PDF)

页面编辑

  • 页面添加、删除
  • 页面顺序调整
  • 页面复制粘贴(TODO)
  • 背景设置(纯色、渐变、图片)
  • 设置画布尺寸
  • 网格线(TODO)
  • 标尺
  • 画布缩放、移动
  • 页面模板
  • 选择面板(隐藏元素、层级排序、元素命名)(TODO)

元素编辑

  • 元素添加、删除
  • 元素复制粘贴
  • 元素拖拽移动
  • 元素旋转
  • 元素缩放
  • 元素多选(框选、点选)
  • 多元素组合
  • 多元素批量编辑(TODO)
  • 元素锁定(TODO)
  • 元素吸附对齐(移动和缩放)
  • 元素层级调整
  • 元素对齐到画布
  • 元素坐标、尺寸和旋转角度设置

文字

  • 文本编辑(颜色、高亮、字体、字号、加粗、斜体、下划线、删除线、对齐方式、项目符号、缩进、清除格式)
  • 行高
  • 字间距
  • 段间距
  • 填充色
  • 阴影
  • 透明度

图片

  • 滤镜
  • 着色(蒙版)
  • 翻转
  • 边框
  • 阴影
  • 裁切

形状

  • 填充色
  • 边框
  • 阴影
  • 透明度
  • 翻转
  • 编辑文字

线条

  • 颜色
  • 宽度
  • 样式

联系作者

wechat: 15972699417
email: yft.design@163.com

License

Licensed under the MIT License.

管理员

more-strive more-strive(作者) Qiu-Jun Qiu-Jun zjc2233 zjc2233

贡献者

more-strive more-strive(作者) Qiu-Jun Qiu-Jun zjc2233 zjc2233 wohuweixiya wohuweixiya zdw1011781461 zdw1011781461 mjhcc365 mjhcc365
ieleg ieleg qq404388339 qq404388339 sledgehuang sledgehuang

Extension points exported contracts — how you extend this code

Pattern (Interface)
(no doc) [45 implementers]
src/components.d.ts
IDisposable (Interface)
(no doc) [11 implementers]
src/utils/lifecycle.ts
InitDrawingConfig (Interface)
初始化绘制的配置对象
src/components/ImageMatting/types/drawingListeners.d.ts
ServicesAccessor (Interface)
(no doc) [2 implementers]
src/app/instantiation/instantiation.ts
GlobalComponents (Interface)
(no doc)
components.d.ts
LinePoolItem (Interface)
(no doc)
src/configs/lines.ts
NominalTag (Interface)
(no doc)
src/types/typedefs.ts
IFabricState (Interface)
(no doc)
src/store/modules/fabric.ts

Core symbols most depended-on inside this repo

set
called by 118
src/app/instantiation/serviceCollection.ts
fire
called by 63
src/components.d.ts
bind
called by 43
src/app/keybinding.ts
get
called by 38
src/app/instantiation/instantiation.ts
on
called by 33
src/components.d.ts
getObjects
called by 32
src/components.d.ts
add
called by 28
src/extension/object/Line.ts
off
called by 24
src/components.d.ts

Shape

Function 624
Method 566
Interface 222
Class 140
Enum 29

Languages

TypeScript100%

Modules by API surface

src/extension/object/Table.ts104 symbols
src/components.d.ts65 symbols
src/extension/object/ArcText.ts57 symbols
src/types/modules.d.ts48 symbols
src/app/instantiation/instantiationService.ts36 symbols
src/extension/object/Polyline.ts33 symbols
src/extension/object/Polygon.ts32 symbols
src/extension/object/Line.ts29 symbols
src/store/modules/template.ts28 symbols
src/hooks/useHandleElement.ts28 symbols
src/app/fabricGuide.ts26 symbols
src/types/elements.ts24 symbols

For agents

$ claude mcp add yft-design \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact