# node-poster **Repository Path**: gitee-jacky-wang/node-poster ## Basic Information - **Project Name**: node-poster - **Description**: 基于node-canvas 开发的服务器端海报生成插件 - **Primary Language**: JavaScript - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2020-12-17 - **Last Updated**: 2021-11-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 描述 1. 基于node-canvas 开发的服务器端绘制海报插件,通过传递数据的方式来生成图片 ### 开发目的 1. 尝试了用html5 canvas api 绘制海报在多端兼容上绘制复杂一点的图片,存在toDataURL导出来的图片模糊,图片画上去偶尔空白,应用闪退,等问题 2. 后续扩展需要考虑兼容性问题,很麻烦 3. 总结以上开发了这个插件 ### 解决的问题 1. 服务器端生成不用考虑兼容 2. 生成的速度更快更稳定 3. 根据常用海报抽象定义了绘画基本图形的api满足了基本的使用 4. 根据图形定义抽象api方便扩展 ### 示例图片 ![Image text](https://gitee.com/jacky-web/node-poster/raw/master/test.jpg) ### 目录结构 ```js |-- index.js //入口文件 |-- package-lock.json //版本锁文件 |-- package.json //版本文件 |-- README.md //描述文件 |-- test //测试目录 | |-- app.js //测试服务器 | 使用示例文件 | |-- config1.js //测试数据配置文件 | |-- config4.js //测试数据配置文件 |-- types //类型定义目录 | |-- index.d.ts //类型定义文件 |-- cores //核心代码目录 |-- drawBlock.js //绘制矩形api文件 |-- drawImage.js //绘制图片api文件 |-- drawLine.js //绘制线条api文件 |-- drawText.js //绘制文本api文件 |-- tool.js //辅助公用函数文件 ``` ### 使用方法 1. 使用案例在 test/app.js 里 ### 本地调试流程 1. npm run test //它会启动test/spp.js 服务, 2. 用网页访问刚才的服务器地址,它会通过导入文件获取config1.js里的数据然后生成海报返回给浏览器