{"id":20844353,"url":"https://github.com/zixicat/mini-ps","last_synced_at":"2025-12-26T05:40:51.071Z","repository":{"id":143847993,"uuid":"231133780","full_name":"zixiCat/mini-ps","owner":"zixiCat","description":"It's a small and lightweight program based on uni-app framework, it can edit and generate posters in multiple aspect.","archived":false,"fork":false,"pushed_at":"2024-04-07T08:50:15.000Z","size":3094,"stargazers_count":33,"open_issues_count":1,"forks_count":11,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-04T18:01:56.216Z","etag":null,"topics":["poster","ps","uni-app"],"latest_commit_sha":null,"homepage":"https://github.com/zixiCat/mini-ps","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zixiCat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2019-12-31T18:43:40.000Z","updated_at":"2024-06-18T08:09:41.000Z","dependencies_parsed_at":"2024-04-07T09:44:55.609Z","dependency_job_id":null,"html_url":"https://github.com/zixiCat/mini-ps","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zixiCat%2Fmini-ps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zixiCat%2Fmini-ps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zixiCat%2Fmini-ps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zixiCat%2Fmini-ps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zixiCat","download_url":"https://codeload.github.com/zixiCat/mini-ps/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243205246,"owners_count":20253426,"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":["poster","ps","uni-app"],"created_at":"2024-11-18T02:09:24.593Z","updated_at":"2025-12-26T05:40:51.020Z","avatar_url":"https://github.com/zixiCat.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"迷你PS小程序\n===\n### 作者：zixiCat 小号：TensionMax（该仓库已转移至zixiCat）\n### 个人制作，基于uni-app框架搭建的可实现图文多方位编辑并生成海报的一款轻巧小程序。集成的开放式海报，油墨电子签名，图片拖拽模块可单独食用\n\n***\n\n![qrcode](./qrcode.jpg)\n\n\n**思路讲解/效果展示**\u003cbr /\u003e\n\u003ehttps://segmentfault.com/a/1190000021554981\u003cbr /\u003e\nhttps://www.cnblogs.com/TensionMax/p/12179726.html\u003cbr /\u003e\n\n\n\n## 开放式海报\n| 属性 | 类型 | 默认 | 说明 |\n| --- | --- | --- | --- |\n| canvasW | Number | 720 | 海报宽度，单位rpx |\n| canvasH | Number | 1000 | 海报高度，单位rpx |\n| img | Array |  | 需生成的图片数组 |\n| text |Array  |  | 需生成的文字数组 |\n| x | Number |  | img/text-距绘制原点的水平距离，单位rpx |\n| y | Number |  | img/text-距绘制原点的垂直距离，单位rpx |\n| w | Number |  | img/text-宽度，单位rpx |\n| h | Number |  | img-高度，单位rpx |\n| r | Number |  | img-圆角度数，单位deg |\n| src | String |  | img-图片来源 |\n| degress |Number  |  | img-旋转角度，单位deg |\n| mirror |Boolean  |  | img-是否镜像 |\n| content | String |  | text-绘制的文本 |\n| lineHeight | Number |  | text-行间距，单位rpx |\n| color | String |  |text-颜色 |\n| size |Number  |  | text-大小，单位rpx |\n| weight | String |  | text-是否加粗,允许值normal、bold等 |\n| lineThrough | Boolean |  | text-是否有贯穿线 |\n| maxLineNum | Number |  | text-最大行数,超过行数的文字以“ ... ”表示，0为不限制 |\n```js\n\u003ctemplate\u003e\n\u003czx-poster ref=\"poster\" :img=\"imageList\" :text=\"textList\" :canvasW=\"750\" :canvasH=\"1000\"\u003e\u003c/zx-poster\u003e\n\u003c/template\u003e\n\n\u003cscript\u003e\nimport zxPoster from '@/components/zx-poster.vue'\nexport default {\ncomponents: {\n    zxPoster\n},\ndata() {\n    return {\n        imageList: [{\n\t\t//注意不校验合法域名\n                src: 'https://s2.ax1x.com/2020/01/11/l4TadS.png',\n                x: 200,\n                y: 300,\n                w: 300,\n                h: 300,\n                r: 30,\n                degrees: 45,\n                mirror: false\n            }\n        ],\n        textList: [\n            {\n                content: 'TensionMaxTensionMaxTensionMaxTensionMaxTensionMaxTensionMaxTensionMax',\n                x: 200,\n                y: 100,\n                w: 300,\n                lineHeight: 35,\n                color: '#000000',\n                size: 30,\n                weight: 'normal',\n                lineThrough: true,\n                maxLineNum: 3\n            }\n        ]\n    }\n},\nonReady() {\n\tthis.$refs.poster.generate()\n}\n}\n\u003c/script\u003e\n```\n## 油墨电子签名\n| 属性 | 类型 | 默认 | 说明 |\n| --- | --- | --- | --- |\n|initialLineWidth  | Number | 5 |初始线宽 建议1~5 |\n| keenness | Number |  5| 油墨程度 建议0~5 |\n```js\n\u003ctemplate\u003e\n\t\u003czx-sign :initialLineWidth=\"2\" :keenness=\"5\"\u003e\u003c/zx-sign\u003e\n\u003c/template\u003e\n\n\u003cscript\u003e\n\timport zxSign from '@/components/zx-sign.vue'\n\texport default {\n\t\tcomponents: {\n\t\t\tzxSign\n\t\t}\n\t}\n\u003c/script\u003e\n```\n## 图片拖拽\n| 属性 | 类型 | 默认 | 说明 |\n| --- | --- | --- | --- |\n| v-model | Array | 绑定值 | 图片数组，需进行响应式处理 |\n| x | Number |  | 绝对定位的left值，单位px |\n| y | Number |  | 绝对定位的top值，单位px |\n| w | Number |  | 对应元素的宽，单位px |\n| h | Number |  | 对应元素的高，单位px |\n| isMove | Boolean | false | 辅助作用 |\n\n```js\n\u003ctemplate\u003e\n\t\u003czx-image v-model=\"imgList\"\u003e\u003c/zx-image\u003e\n\u003c/template\u003e\n\n\u003cscript\u003e\n\timport zxImage from '@/components/zx-image.vue'\n\texport default {\n\t\tcomponents: {\n\t\t\tzxImage\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\timgList: []\n\t\t\t}\n\t\t},\n\t\tonLoad() {\n\t\t\tthis.imgList.push({\n\t\t\t\tsrc: 'https://s2.ax1x.com/2020/01/05/lrCDx0.jpg',\n\t\t\t\tx: 150,\n\t\t\t\ty: 150,\n\t\t\t\tw: 200,\n\t\t\t\th: 200,\n\t\t\t\tisMove: false\n\t\t\t})\n\t\t}\n\t}\n\u003c/script\u003e\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzixicat%2Fmini-ps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzixicat%2Fmini-ps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzixicat%2Fmini-ps/lists"}