poster-generater
⚡⚡⚡海报生成器. 只需要一个简单的 json 配置即可生成你需要的海报...
说明
此项目诞生有一段时间了,我本人也一直在使用这个程序,从一开始的 golang 版本,到现在的 java 版本,一路上也得到了许多朋友的支持和鼓励。 在 golang 版本的时候,就有朋友跟我说:『我非常喜欢这个项目,我非常希望加入到这个项目中来,但是我是从事JAVA开发的,可不可以弄一个 java 版本的』?加上我在 golang 开发中遇到了一些让我头疼的问题,以及常年写 OO(面向对象) 代码导致的惯性思维,让我在 golang 开发中备受煎熬。 所以今年年初的时候我决定把这个项目用 java 实现一遍,如今 java 版本已经发布,添加了许多使用特型,希望给大家带来更好的使用体验。同时也希望有能力的朋友可以和我一起完善这个项目(欢迎PR、issues),让更多的人享受到项目带来的便利。
感谢 sm.ms 提供的图床服务
适用场景
我希望这个项目用于渲染需要动态合成的图片,例如用户名片(需要动态渲染名字和头像等),而非一经渲染就恒定不变的,例如logo、banner等。虽然 poster-generater
两者都可以实现。
项目愿景
希望广大开发者可以不在为海报制作而烦恼。快速找到适合自己的海报,快速集成可扩展、高性能的海报渲染功能。
在线体验
点击 在线测试
如果点击
提交测试
后没有反应, 参考如下解决方案,点击加载不安全的脚本即可。 出现该问题的原因是因为 测试地址不是 https 协议,所以 chrome 会给以警告。
java 版本功能更丰富
- 基于 java 开发,部署和二次开发更方便
- 图片将上传到 公共 CDN,不占用主机磁盘,且速度更快
- 支持结果缓存,相同的 海报配置 不会重复渲染,一次渲染持续保存,速度更快
- 添加删除和查询结果 API
- 支持生成二维码、文本换行和文本溢出等高级属性
- 支持自定义字体,运行目录下新建 fonts 文件夹,里面放 ttf 格式字体就行。
- 支持模板图片,减少网络图片加载,运行目录下新建 templates 文件夹,支持多种图片格式。
- 缓存网络图片,减少网络图片加载
- 支持企业定制化开发部署,详情请联系我
ps:自定义字体、模板图片、网络图片缓存路径均可配置。具体配置参考 example.application.properties
相关资源
- github 仓库
- golang版本
golang 版本完成度不高
- 共享海报库
- sm.ms 免费图床
- sm.ms 图床 js 插件
- 公开测试地址:
http://118.24.86.202:8000
此地址是我的测试机,配置不高,请不要在生产环境中使用
下载
- 下载 jar 包
$ wget http://static.janguly.com/poster-2.2-SNAPSHOT.jar
你也可以 点击下载
- 克隆代码
$ git clone https://github.com/qbhy/poster-generater.git
运行 jar
$ java -jar poster-2.0-SNAPSHOT.jar --server.port=8000 --poster.downloadPath=/var/poster/downloads
如果你不设置 server.port 参数,默认使用 8000。如果不设置 poster.downloadPath,默认使用当前目录下的 downloads 目录。你也可以添加 application.properties 或者 config/application.properties 文件进行配置
rest api
任何客户端发起 http 请求即可生产相应海报
- 创建海报
POST /poster
需要 json 格式的海报参数
- 找到海报
GET /poster/{key}
key 值为创建海报 json 的 md5 值
- 删除海报
DELETE /poster/{key}
key 值为创建海报 json 的 md5 值
反馈
扫描下面的二维码加群,如果扫码进不去(人数超过100后不能扫码进群),扫二维码加我好友,拉你进【poster交流群】
96qbhy@gmail.com
github:qbhy/poster-generater