开源海报生成器 2.0,功能更强大,速度更快! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
qbhy
V2EX    程序员

开源海报生成器 2.0,功能更强大,速度更快!

  •  1
     a href="Javascript:" Onclick="downVoteTopic(559110);" class="vote">
  •   qbhy
    qbhy 2019-04-27 00:07:25 +08:00 11121 次点击
    这是一个创建于 2426 天前的主题,其中的信息可能已经有所发展或是发生改变。

    poster-generater

    海报生成器. 只需要一个简单的 json 配置即可生成你需要的海报...

    在线体验

    点击 在线测试

    如果点击 提交测试 后没有反应, 参考如下解决方案,点击加载不安全的脚本即可。 开源海报生成器 2.0,功能更强大,速度更快。 出现该问题的原因是因为 测试地址不是 https 协议,所以 chrome 会给以警告。

    说明

    此项目诞生有一段时间了,我本人也一直在使用这个程序,从一开始的 golang 版本,到现在的 java 版本,一路上也得到了许多朋友的支持和鼓励。 在 golang 版本的时候,就有朋友跟我说:『我非常喜欢这个项目,我非常希望加入到这个项目中来,但是我是从事 JAVA 开发的,可不可以弄一个 java 版本的』?加上我在 golang 开发中遇到了一些让我头疼的问题,以及常年写 OO(面向对象) 代码导致的惯性思维,让我在 golang 开发中备受煎熬。 所以今年年初的时候我决定把这个项目用 java 实现一遍,如今 java 版本已经发布,添加了许多使用特型,希望给大家带来更好的使用体验。同时也希望有能力的朋友可以和我一起完善这个项目(欢迎 PR、issues),让更多的人享受到项目带来的便利。

    感谢 sm.ms 提供的图床服务

    java 版本功能更丰富

    • 基于 java 开发,部署和二次开发更方便
    • 图片将上传到 公共 CDN,不占用主机磁盘,且速度更快
    • 支持结果缓存,相同的 海报配置 不会重复渲染,一次渲染持续保存,速度更快
    • 添加删除结果 API
    • 支持自定义字体
    • 支持模板图片,减少网络图片加载
    • 缓存网络图片,减少网络图片加载
    • 支持企业定制化开发部署,详情请联系我

    相关资源

    下载

    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 
    • 找到海报
      GET /poster/{key} 

      key 值为创建海报 json 的 md5 值

    • 删除海报
      DELETE /poster/{key} 

      key 值为创建海报 json 的 md5 值

    [email protected]
    github:qbhy/poster-generater

    第 1 条附言    2019-04-27 13:21:33 +08:00
    ### 适用场景
    我希望这个项目用于渲染需要动态合成的图片,例如用户名片(需要动态渲染名字和头像等),而非一经渲染就恒定不变的,例如 logo、banner 等。虽然 `poster-generater` 两者都可以实现。
    ### 项目愿景
    希望广大开发者可以不在为海报制作而烦恼。快速找到适合自己的海报,快速集成可扩展、高性能的海报渲染功能。

    ## 反馈
    扫描下面的二维码加群,如果扫码进不去(人数超过 100 后不能扫码进群),扫二维码加我好友,拉你进 [poster 交流群]
    ![41556334643_.pic.jpg]( https://iocaffcdn.phphub.org/uploads/images/201904/27/6822/HjrClAnEXB.jpeg!large) ![poster 交流群]( https://iocaffcdn.phphub.org/uploads/images/201904/27/6822/svH3IccVLb.jpeg!large)
    54 条回复    2019-04-28 16:14:24 +08:00
    qbhy
        1
    qbhy  
    OP
       2019-04-27 00:09:48 +08:00
    全新升级,欢迎试用
    gosansam
        2
    gosansam  
       2019-04-27 00:10:44 +08:00
    插眼 明天试试
    echoick
        3
    echoick  
       2019-04-27 00:15:22 +08:00 via iPhone
    战略性插眼
    4641585
        4
    4641585  
       2019-04-27 00:40:24 +08:00
    插眼
    SenLief
        5
    SenLief  
       2019-04-27 00:43:41 +08:00 via Android
    star
    azh7138m
        6
    azh7138m  
       2019-04-27 01:32:49 +08:00 via Android
    有点捉急啊,正常前端画个模板也就半个小时,搞个在线编辑器也不麻烦。。。。
    z389026507
        7
    z389026507  
       2019-04-27 01:48:48 +08:00 via Android
    图还没加载出来,先插眼
    sunocean
        8
    sunocean  
       2019-04-27 07:38:54 +08:00
    插眼, 996icu 瞩目
    qbhy
        9
    qbhy  
    OP
       2019-04-27 10:12:50 +08:00
    @azh7138m 不是这个意思,这项目的宗旨是让海报生成不在局限于某种客户端,让海报渲染的工作交给 java 来做。而且海报模板后续我会持续更新,也欢迎大家贡献自己的海报模板,弄一个统一的海报模板存放地方,然后大家有需要生成海报的时候可以随时翻阅有没有合适的模板,如果没有也可以找找哪个比较接近,然后改改就能用。
    qbhy
        10
    qbhy  
    OP
       2019-04-27 10:16:15 +08:00
    @SenLief 谢谢支持。
    azh7138m
        11
    azh7138m  
       2019-04-27 12:26:18 +08:00 via Android
    @qbhy 呃,我是想表达,这个模式的 渲染,前端也可以做,所见即所得的编辑器不是更好吗?
    Heiban
        12
    Heiban  
       2019-04-27 12:28:29 +08:00 via iPhone
    cy
    bestu
        13
    bestu  
       2019-04-27 12:29:43 +08:00 via Android
    插眼,以后学习
    csser
        14
    csser  
       2019-04-27 12:43:43 +08:00
    go 版本的在哪里
    qbhy
        15
    qbhy  
    OP
       2019-04-27 13:12:46 +08:00
    @azh7138m 首先不是所有客户端(平台)都有那么好用的绘图 API。而且各个平台的 API 也都一样,相同的一个海报,不同平台要实现起来代码量可能差异非常大。还有就是那个编辑器只是方便调试测试用的,真实开发中类似于下面这样的代码
    ```Javascript
    function buildUserPoster(user){
    // 为用户对象构建一个合适的海报 json,发送请求给 poster 服务,得到一个海报的 URL 给图片节点使用。
    return url;
    }
    ```
    qbhy
        16
    qbhy  
    OP
       2019-04-27 13:14:35 +08:00
    @azh7138m 其次忽略客户端平台生成海报只是第一步,第二步是共享海报配置。这样的话只需要去海报中心选择喜欢的海报然后稍加修改就能用于生产环境。
    qbhy
        17
    qbhy  
    OP
       2019-04-27 13:16:19 +08:00
    6j1A6v70lEv5n2U2
        18
    6j1A6v70lEv5n2U2  
       2019-04-27 13:16:58 +08:00 via iPhone
    不知道有啥用……
    mamahaha
        19
    mamahaha  
       2019-04-27 13:17:41 +08:00
    介四里没有见过的船新版本
    azh7138m
        20
    azh7138m  
       2019-04-27 13:18:30 +08:00 via Android
    @qbhy 大概明白了,这其实是一个 render server ?
    qbhy
        21
    qbhy  
    OP
       2019-04-27 13:19:37 +08:00
    @azh7138m 是的,可以这么理解,但是我不希望它仅仅是一个 render server。
    qbhy
        22
    qbhy  
    OP
       2019-04-27 13:20:06 +08:00
    @mamahaha 确认过眼神,你就是 poster-generater 的带盐人
    runningman
        23
    runningman  
       2019-04-27 13:20:38 +08:00 via iPhone
    没见 go 的开源啊
    mon6912640
        24
    mon6912640  
       2019-04-27 13:21:02 +08:00 via Android
    支持
    qbhy
        25
    qbhy  
    OP
       2019-04-27 13:22:30 +08:00
    @runningman 也在这个仓库,我忘记打个 tag 了。我一会打个 tag
    qbhy
        26
    qbhy  
    OP
       2019-04-27 13:22:40 +08:00
    @mon6912640 感谢大佬
    dodo2012
        27
    dodo2012  
       2019-04-27 13:30:20 +08:00
    头发掉光的都是最强的
    qbhy
        28
    qbhy  
    OP
       2019-04-27 13:37:09 +08:00
    @dodo2012 这是变强的唯一途径!
    licoycn
        29
    licoycn  
       2019-04-27 14:28:15 +08:00
    azh7138m
        30
    azh7138m  
       2019-04-27 15:20:35 +08:00 via Android
    @qbhy 外加一个 config hub ?
    qbhy
        31
    qbhy  
    OP
       2019-04-27 15:38:47 +08:00
    @azh7138m 算是的。
    qbhy
        32
    qbhy  
    OP
       2019-04-27 15:38:59 +08:00
    @azh7138m bug,晚些看看
    lifeintools
        33
    lifeintools  
       2019-04-27 15:41:09 +08:00
    支持一波
    qbhy
        34
    qbhy  
    OP
       2019-04-27 16:22:55 +08:00
    @lifeintools 谢谢~
    lovezww2011
        35
    lovezww2011  
       2019-04-27 16:39:14 +08:00
    @4641585 插眼是啥意思?
    lovejunjie1
        36
    lovejunjie1  
       2019-04-27 16:45:30 +08:00
    404error ? emmmmm 这个怎么测试的?
    qbhy
        37
    qbhy  
    OP
       2019-04-27 16:58:07 +08:00
    @lovejunjie1 有点奇怪,我用 postman 测试是正常的。我晚些具体排查一下。
    4641585
        38
    4641585  
       2019-04-27 17:45:44 +08:00
    @lovezww2011

    等同于「 mark 」
    dabaibai
        39
    dabaibai  
       2019-04-27 19:15:03 +08:00
    没有一个演示图片吗
    nian8
        40
    nian8  
       2019-04-27 19:17:21 +08:00 via Android
    6 值得关注
    Heanes
        41
    Heanes  
       2019-04-27 20:10:23 +08:00
    有点意思
    qbhy
        42
    qbhy  
    OP
       2019-04-27 21:33:20 +08:00
    @nian8
    @Heanes
    谢谢
    qbhy
        43
    qbhy  
    OP
       2019-04-27 21:34:04 +08:00
    tfbrown
        44
    tfbrown  
       2019-04-28 00:02:24 +08:00
    这个项目有点意思啊
    OctopusGO
        45
    OctopusGO  
       2019-04-28 00:26:39 +08:00 via Android
    战略插眼
    qbhy
        46
    qbhy  
    OP
       2019-04-28 00:26:50 +08:00
    @tfbrown 谢谢,后续我会继续完善的,包括 poster-hub 也会实现。欢迎 star 持续关注啊
    sunrist1
        47
    sunrist1  
       2019-04-28 10:13:40 +08:00
    战略性插眼
    TeslaLyon
        48
    TeslaLyon  
       2019-04-28 10:55:55 +08:00
    laravel good
    qbhy
        49
    qbhy  
    OP
       2019-04-28 11:07:31 +08:00
    @TeslaLyon 老哥哪里看出来 laravel 的
    qshu
        50
    qshu  
       2019-04-28 12:08:04 +08:00
    v 主会不会叹夜太漫长
    buhi
        51
    buhi  
       2019-04-28 13:25:30 +08:00
    我还以为是人工智能生成海报呢
    TeslaLyon
        52
    TeslaLyon  
       2019-04-28 15:03:25 +08:00
    @qbhy。。截图中
    qbhy
        53
    qbhy  
    OP
       2019-04-28 16:13:58 +08:00
    @qshu 夜晚太短了,都没时间睡觉
    qbhy
        54
    qbhy  
    OP
       2019-04-28 16:14:24 +08:00
    @buhi 哈哈有人工智能了就不只是用来生成海报这么简单了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5458 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 01:43 PVG 09:43 LAX 17:43 JFK 20:43
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86