乐趣区

如何优雅的生成海报动态合成图片

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 仓库
  • 共享海报库
  • sm.ms 免费图床
  • sm.ms 图床 js 插件
  • 公开测试地址: http://118.24.86.202:8000

    此地址是我的测试机,配置不高,请不要在生产环境中使用

下载

  1. 下载 jar 包

    $ wget http://static.janguly.com/poster-2.1-SNAPSHOT.jar

    你也可以 点击下载

  2. 克隆代码

    $ 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

退出移动版