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 > 此地址是我的測試機,配置不高,請不要在生產環境中使用
下載
- 下載 jar 包 bash $ wget http://static.janguly.com/poster-2.1-SNAPSHOT.jar > 你也可以 點擊下載
- 克隆代碼 bash $ 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 值
軟件下載地址:
閱讀更多 開源社區OSC 的文章