漂亮易用的在线创意图片编辑器、海报设计器,仿造稿定设计等产品,开源、强大、好玩是我们的关键词。
适用于多种场景:海报图片生成、电商分享图、文章长图、视频/公众号封面等,轻松实现创意,迅速完成图文排版,设计如此简单!
- 丰富的交互细节,基础功能完善
- 原生 DOM 画布编辑器,操作体验丝滑,支持各种 HTML5 特性,扩展生态更方便
- 前端 + 服务端混合出图,确保高质量图像输出,准确还原网页细节和效果
- 支持导入 PSD 设计文件解析辅助生成模板
- AI 抠图工具一键去除背景,支持画笔修补擦除
- 技术栈:Vue3 、Vite5 、Pinia 、ElementPlus、Express
- 图片生成:Puppeteer、Html2canvas
git clone https://github.com/palxiao/poster-design.git
cd poster-design
npm run prepared
npm run serve
输入网址 http://127.0.0.1:5173/ 访问站点,如遇失败请拆开命令运行,更多详情参阅文档。
本仓库中所提供的后端代码仅为示例作用,目的在于帮助开发者更好地理解项目,实际生产则根据自身需求进行开发。(原项目中请求的远程 API 接口已不再适用,但 接口 API 文档 仍具有一定参考性)
关于部署等说明请前往项目中查看,后端项目代码位于根目录 /service 下。
使用docker-compose.yml 文件快速启动。在运行安装命令之前,请确保您的机器上安装了 Docker 和 Docker Compose:
特别注意
⚠️ :由于ghcr.io/puppeteer/puppeteer
镜像,暂不支持Arm64架构。请在Amd64架构下运行。
docker compose up -d
运行后,可以在浏览器上访问http://localhost 直接访问
- 前端构建
docker build -t heimanba/poster-web -f ./docker/web/Dockerfile .
- 服务端构建
docker build -t heimanba/poster-api -f ./docker/api/Dockerfile ./service
支持基于开源版定制有限功能,帮助开发者节省研发时间和成本,并提供全方位技术指导与答疑。了解/获取技术支持请访问:迅排 Plus 服务。
欢迎关注公众号《品味前端》,回复“加群”或添加作者微信,了解项目最新动态、交流前端全栈技术。
开源不易,别忘了给本项目点个 Star ~ 您的支持是对开源作者最大的鼓励 ❤️
每一个 Star 都是我不断前进的动力 ❤️
项目持续迭代中,还有很多不足,可以将你遇到的问题在 Issues 中提出,或者提交 Pull Request 帮助完善。
-
元素拖拽放置操作,自由定位。
-
组合与拆分操作,多个元素组合成一个整体。
-
缩放操作。
-
对齐与分布,支持水平、垂直对齐以及多个元素的均匀分布。
-
基础文字编辑,支持修改字体、字号、颜色、斜体、下划线加粗、间距行距、对齐方式等。
-
基于 CSS 的文字高级特效,如阴影、描边、渐变等,支持组合使用,创造丰富多样的文字效果。
-
花字组合,文字与图片icon的自由组合组件。
-
图片素材插入与替换,从本地或素材库插入图片。
-
图片裁剪:支持圆角,或缩放裁剪显示区域以适应设计需求。
-
图片蒙版/容器:可自定义容器填充图片,支持通过蒙版调整显示区域。
-
SVG 素材编辑颜色、透明度等属性。
-
自定义画布尺寸:支持拖动把手实时改变画布尺寸,内置尺寸预设。
-
缩放功能:鼠标滚轮或点击进行画布的缩放。
-
画布颜色或背景图片修改:支持单色、或渐变色背景。
-
前端水印。
-
历史记录,撤销重做。
-
多画板支持:可以在作品中创建多个画板。
-
PSD 解析:设计稿还原到网页,方便辅助创建模板。
-
画笔修补擦除抠图工具。
-
吸附线对齐线。
-
标尺和辅助引导线。
-
漫游导航:引导新手操作。
-
键盘快捷键:复制、粘贴、撤销、重做、成组等。
-
右键菜单:支持常见操作如复制、删除、层级调整等。
-
二维码生成:支持自定义二维码的颜色、大小、样式。
-
二维码风格设置:支持单色、渐变色和自定义 logo 嵌入功能等。
-
图层操作:自由拖拽元素变更层级、锁定/解锁图层等。
-
调色板与吸色器:内置取色工具,从电脑画面中吸取颜色。
-
渐变色支持:调色盘支持渐变色编辑,自由定制多个颜色节点、调整角度等。
项目使用或参考了一些优秀开源项目,包括但不限于:
- moveable: 提供了画布中选择、拖动缩放等能力
- html2canvas: 前端出图的简单方案
- qr-code-styling: 生成风格化二维码
- rembg: 图片自动抠图,使用 u2net 预训练模型
Dooring低代码 | DrawOn桌案 |
---|---|
LeaferJS |
---|
本项目遵循 MIT 开源协议,如有疑问,建议仔细阅读并保留此 中文版开源许可证。