{"id":13455710,"url":"https://github.com/palxiao/poster-design","last_synced_at":"2025-05-13T20:22:34.057Z","repository":{"id":113971371,"uuid":"454264265","full_name":"palxiao/poster-design","owner":"palxiao","description":"迅排设计 - 美观且功能强大的在线海报设计器，图片编辑器，仿稿定设计，适用于多种场景：海报生成、电商产品图、文章长图、视频/公众号封面等。A beautiful online image designer, suitable for various scenarios like generate posters, making design easier!","archived":false,"fork":false,"pushed_at":"2025-03-24T06:49:24.000Z","size":2336,"stargazers_count":4183,"open_issues_count":23,"forks_count":644,"subscribers_count":22,"default_branch":"main","last_synced_at":"2025-04-28T11:58:04.304Z","etag":null,"topics":["canvas","design","image","moveable","nodejs","poster","puppeteer","vue3"],"latest_commit_sha":null,"homepage":"https://design.palxp.cn","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/palxiao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-01T04:46:12.000Z","updated_at":"2025-04-28T05:21:17.000Z","dependencies_parsed_at":"2023-07-18T08:48:48.382Z","dependency_job_id":"d34a55a8-8002-4cbc-a89b-8496dc9a54e2","html_url":"https://github.com/palxiao/poster-design","commit_stats":{"total_commits":275,"total_committers":9,"mean_commits":"30.555555555555557","dds":0.4618181818181818,"last_synced_commit":"e9391d644fda745afb3692ca4ff8747833592495"},"previous_names":["palxiao/poster-design"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/palxiao%2Fposter-design","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/palxiao%2Fposter-design/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/palxiao%2Fposter-design/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/palxiao%2Fposter-design/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/palxiao","download_url":"https://codeload.github.com/palxiao/poster-design/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251311332,"owners_count":21569008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["canvas","design","image","moveable","nodejs","poster","puppeteer","vue3"],"created_at":"2024-07-31T08:01:09.831Z","updated_at":"2025-04-28T11:58:09.990Z","avatar_url":"https://github.com/palxiao.png","language":"Vue","funding_links":[],"categories":["Vue","前端开发框架及项目"],"sub_categories":["其他_文本生成、文本对话"],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg style=\"height: 90px\" src=\"https://github.com/user-attachments/assets/e2b8c788-aded-4b1a-83ee-9bde124f5808\" alt=\"迅排设计 - Poster Design\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/palxiao/poster-design?style=flat\" alt=\"starts\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/palxiao/poster-design?tab=MIT-1-ov-file\"\u003e\u003cimg src=\"https://img.shields.io/github/license/palxiao/poster-design?style=flat\" alt=\"License\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://design.palxp.cn/\"\u003e迅排官方网站\u003c/a\u003e | \u003ca href=\"https://xp.palxp.cn/\"\u003e在线文档\u003c/a\u003e | \u003ca href=\"https://xp.palxp.cn/#/articles/1689323321667\"\u003e常见问题\u003c/a\u003e | \u003ca href=\"https://juejin.cn/post/7348288810722869300\"\u003e性能压测\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://trendshift.io/repositories/8728\" target=\"_blank\"\u003e\u003cimg src=\"https://trendshift.io/api/badge/repositories/8728\" alt=\"poster-design | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://hellogithub.com/repository/56a75cfc34da43549d2bb46dab305ba2\" target=\"_blank\"\u003e\u003cimg src=\"https://abroad.hellogithub.com/v1/widgets/recommend.svg?rid=56a75cfc34da43549d2bb46dab305ba2\u0026claim_uid=fb0Nckng89FvyzP\u0026theme=neutral\" alt=\"Featured｜HelloGitHub\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n漂亮易用的在线创意图片编辑器、海报设计器，仿造稿定设计等产品，开源、强大、好玩是我们的关键词。\n\n适用于多种场景：海报图片生成、电商分享图、文章长图、视频/公众号封面等，轻松实现创意，迅速完成图文排版，设计如此简单！\n\n[![](https://xp.palxp.cn/images/2023-7-16-1689500112694.gif)](https://design.palxp.cn/)\n\n### 项目特点\n\n- 丰富的交互细节，基础功能完善\n- 原生 DOM 画布编辑器，操作体验丝滑，支持各种 HTML5 特性，扩展生态更方便\n- 前端 + 服务端混合出图，确保高质量图像输出，准确还原网页细节和效果\n- 支持导入 PSD 设计文件解析辅助生成模板\n- AI 抠图工具一键去除背景，支持画笔修补擦除\n- 技术栈：Vue3 、Vite5 、Pinia 、ElementPlus、Express\n- 图片生成：Puppeteer、Html2canvas\n\n### 快速开始\n\n```\ngit clone https://github.com/palxiao/poster-design.git\ncd poster-design\nnpm run prepared\nnpm run serve\n```\n\n输入网址 http://127.0.0.1:5173/ 访问站点，如遇失败请拆开命令运行，更多详情[参阅文档](https://xp.palxp.cn/#/articles/1689319644311)。\n\n### 服务端 \u0026 图片生成\n\n本仓库中所提供的后端代码仅为示例作用，目的在于帮助开发者更好地理解项目，实际生产则根据自身需求进行开发。（原项目中请求的远程 API 接口已不再适用，但 [接口 API 文档](https://xp.palxp.cn/apidoc/index.html) 仍具有一定参考性）\n\n关于部署等说明请前往项目中查看，后端项目代码位于根目录 [/service](https://github.com/palxiao/poster-design/tree/main/service) 下。\n\n### 快速启动\n使用[docker-compose.yml](docker/docker-compose.yaml) 文件快速启动。在运行安装命令之前，请确保您的机器上安装了 [Docker](https://docs.docker.com/get-docker/) 和 [Docker Compose](https://docs.docker.com/compose/install/)：\n\u003e 特别注意⚠️：由于`ghcr.io/puppeteer/puppeteer`镜像，暂不支持Arm64架构。请在Amd64架构下运行。\n```\ndocker compose up -d\n```\n运行后，可以在浏览器上访问[http://localhost](http://localhost) 直接访问\n\n#### 自定义镜像构建\n- 前端构建\n```\ndocker build -t heimanba/poster-web -f ./docker/web/Dockerfile .\n```\n\n- 服务端构建\n```\ndocker build -t heimanba/poster-api -f ./docker/api/Dockerfile ./service\n```\n\n### 付费技术支持\n\n支持基于开源版定制有限功能，帮助开发者节省研发时间和成本，并提供全方位技术指导与答疑。了解/获取技术支持请访问：[迅排 Plus 服务](https://plus.palxp.cn/)。\n\n### 交流群\n\n欢迎关注公众号《品味前端》，回复“加群”或添加作者微信，了解项目最新动态、交流前端全栈技术。\n\n\u003cimg style=\"width: 380px;\" src=\"https://xp.palxp.cn/images/2024-3-1-1709306365949.png\" /\u003e\n\n### `Star` 仓库\n\n开源不易，别忘了给本项目点个 **Star** ~ 您的支持是对开源作者最大的鼓励 :heart:\n\n[![Star History Chart](https://api.star-history.com/svg?repos=palxiao/poster-design\u0026type=Date)](https://star-history.com/#palxiao/poster-design\u0026Date)\n\n每一个 Star 都是我不断前进的动力 :heart:\n\n[![Stargazers](https://bytecrank.com/nastyox/reporoster/php/stargazersSVG.php?user=palxiao\u0026repo=poster-design)](https://github.com/palxiao/poster-design/stargazers)\n\n### `Contributions`\n\n\u003ca href=\"https://github.com/palxiao/poster-design/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=palxiao/poster-design\" /\u003e\n\u003c/a\u003e\n\n### 其它\n\n项目持续迭代中，还有很多不足，可以将你遇到的问题在 Issues 中提出，或者提交 Pull Request 帮助完善。\n\n### 详细功能清单\n\n#### 基础设计功能\n\n1. 元素拖拽放置操作，自由定位。\n\n2. 组合与拆分操作，多个元素组合成一个整体。\n\n3. 缩放操作。\n\n4. 对齐与分布，支持水平、垂直对齐以及多个元素的均匀分布。\n\n#### 文本功能\n\n1. 基础文字编辑，支持修改字体、字号、颜色、斜体、下划线加粗、间距行距、对齐方式等。\n\n2. 基于 CSS 的文字高级特效，如阴影、描边、渐变等，支持组合使用，创造丰富多样的文字效果。\n\n3. 花字组合，文字与图片icon的自由组合组件。\n\n#### 图像处理功能\n\n1. 图片素材插入与替换，从本地或素材库插入图片。\n\n2. 图片裁剪：支持圆角，或缩放裁剪显示区域以适应设计需求。\n\n3. 图片蒙版/容器：可自定义容器填充图片，支持通过蒙版调整显示区域。\n\n4. SVG 素材编辑颜色、透明度等属性。\n\n#### 画布与画板设置\n\n1. 自定义画布尺寸：支持拖动把手实时改变画布尺寸，内置尺寸预设。\n\n2. 缩放功能：鼠标滚轮或点击进行画布的缩放。\n\n3. 画布颜色或背景图片修改：支持单色、或渐变色背景。\n\n4. 前端水印。\n\n5. 历史记录，撤销重做。\n\n6. 多画板支持：可以在作品中创建多个画板。\n\n#### 辅助功能\n\n1. PSD 解析：设计稿还原到网页，方便辅助创建模板。\n\n2. 画笔修补擦除抠图工具。\n\n3. 吸附线对齐线。\n\n4. 标尺和辅助引导线。\n\n5. 漫游导航：引导新手操作。\n\n#### 快捷操作与交互\n\n1. 键盘快捷键：复制、粘贴、撤销、重做、成组等。\n\n2. 右键菜单：支持常见操作如复制、删除、层级调整等。\n\n#### 二维码功能\n\n1. 二维码生成：支持自定义二维码的颜色、大小、样式。\n\n2. 二维码风格设置：支持单色、渐变色和自定义 logo 嵌入功能等。\n\n#### 图层与颜色工具\n\n1. 图层操作：自由拖拽元素变更层级、锁定/解锁图层等。\n\n2. 调色板与吸色器：内置取色工具，从电脑画面中吸取颜色。\n\n3. 渐变色支持：调色盘支持渐变色编辑，自由定制多个颜色节点、调整角度等。\n\n### 感谢\n\n项目使用或参考了一些优秀开源项目，包括但不限于：\n\n- [moveable](https://github.com/daybrush/moveable): 提供了画布中选择、拖动缩放等能力\n- [html2canvas](https://github.com/niklasvh/html2canvas): 前端出图的简单方案\n- [qr-code-styling](https://qr-code-styling.com/): 生成风格化二维码\n- [rembg](https://github.com/danielgatis/rembg): 图片自动抠图，使用 u2net 预训练模型\n\n### 感谢以下伙伴打赏支持\n\n| Dooring低代码 | DrawOn桌案 |\n| --- | --- |\n| \u003ca href=\"https://dooring.vip/\"\u003e \u003cimg style=\"height: 90px\" src=\"https://github.com/palxiao/poster-design/assets/21021314/2240801f-8484-4fd2-8505-8205daa6d53c\" /\u003e\u003c/a\u003e | \u003ca href=\"https://www.drawon.cn?useSource=hb1\"\u003e \u003cimg style=\"height: 120px\" src=\"https://github.com/palxiao/poster-design/assets/21021314/258bb6ec-4e1e-4c86-b45c-22946213f209\" /\u003e\u003c/a\u003e |\n\n### 社区合作伙伴\n\n| LeaferJS |\n| --- |\n| \u003ca href=\"https://www.leaferjs.com/\"\u003e \u003cimg style=\"height: 64px\" src=\"https://github.com/user-attachments/assets/def32ec0-67ff-486e-a5ca-16f95dab290b\" /\u003e\u003c/a\u003e |\n\n### `LICENSE`\n\n本项目遵循 MIT 开源协议，如有疑问，建议仔细阅读并保留此 [中文版开源许可证](https://github.com/palxiao/poster-design?tab=License-2-ov-file)。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpalxiao%2Fposter-design","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpalxiao%2Fposter-design","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpalxiao%2Fposter-design/lists"}