V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
walker4680
V2EX  ›  Java

如何动态生成推广海报,带用户头像、昵称、二维码那种?

  •  
  •   walker4680 · 2018-07-18 20:01:20 +08:00 · 7148 次点击
    这是一个创建于 2349 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,现在的疑问在于: 1,生成这种带动态内容海报的技术方案是怎么样的? 2,这件事应该前端开发来做还是后端开发来做?

    谢谢各位大佬了!

    24 条回复    2018-07-19 19:17:45 +08:00
    MonoLogueChi
        1
    MonoLogueChi  
       2018-07-18 20:07:43 +08:00 via Android
    就是动态网页
    AlisaDestiny
        2
    AlisaDestiny  
       2018-07-18 20:11:04 +08:00
    不变的做成模板,变化的做成可配置的。so easy
    walker4680
        3
    walker4680  
    OP
       2018-07-18 20:16:05 +08:00
    @MonoLogueChi 是海报图片啊,不是网页
    walker4680
        4
    walker4680  
    OP
       2018-07-18 20:17:20 +08:00
    @AlisaDestiny 思路应该是这样,但到底如何做呢?就比如我的第二个问题,这件事是前台做还是后台做呢?
    zhaohui318
        5
    zhaohui318  
       2018-07-18 20:19:58 +08:00
    后台做,关键字 bitmap,canvas
    yamedie
        6
    yamedie  
       2018-07-18 20:22:14 +08:00 via Android
    前后配合做,关键字 微信 snsapi,accessToken,html2canvas
    walker4680
        7
    walker4680  
    OP
       2018-07-18 21:08:25 +08:00
    @yamedie 感谢,从 html2canvas 搜索到一些有价值的东西
    walker4680
        8
    walker4680  
    OP
       2018-07-18 21:10:05 +08:00
    后端做,关键词 Java 图像处理
    [参考链接]https://blog.csdn.net/u010197591/article/details/51536030
    gclove
        9
    gclove  
       2018-07-18 21:20:12 +08:00
    这对后端来说都很简单呀

    只不过是在没有 头像,昵称的图片上 把头像 和 昵称放在图片上。
    然后保存图片即可
    airyland
        10
    airyland  
       2018-07-18 21:40:03 +08:00
    后端做,但是如果仅仅是小程序里用可以前端做。后端也可以直接用 Phantom 或者 puppeteer 截图生成。
    yamedie
        11
    yamedie  
       2018-07-18 22:32:57 +08:00 via Android
    @walker4680 回答一水的后端做,心凉。我做过 2 次类似的海报活动,全是前端生成的,一张海报几百 k,canvas 生成可以把带宽,存储和运算的压力全部转移到手机端哦。只有一点点跨域图片的坑,趟过就好了。
    seliote
        12
    seliote  
       2018-07-18 22:52:37 +08:00 via Android
    之前用 PHP 做过,带用户昵称,圆形头像,二维码的。当时用的是直接后台拼图处理图片
    mingyun
        13
    mingyun  
       2018-07-18 23:08:18 +08:00
    @seliote 用的什么库
    tuding
        14
    tuding  
       2018-07-18 23:11:06 +08:00
    php 用 gd2 拼图, 二维码有现成的插件可以生成
    m939594960
        15
    m939594960  
       2018-07-18 23:11:09 +08:00
    @mingyun 我以前也写过,用的这个库 https://packagist.org/packages/intervention/image
    m939594960
        16
    m939594960  
       2018-07-18 23:12:48 +08:00
    @yamedie 我记得前端生成的话,用 canvas 好像有很多手机没办法保存成图片
    yamedie
        17
    yamedie  
       2018-07-18 23:19:54 +08:00 via Android
    @m939594960 额,好像确实是,这个坑被我选择性遗忘了,base64 的图片,有些小米等牌子的低端机能显示但不能长按保存,坑了。。
    EyreFree
        18
    EyreFree  
       2018-07-18 23:26:31 +08:00
    cnbattle
        19
    cnbattle  
       2018-07-18 23:39:54 +08:00 via Android
    php 非常简单,内置图片合成,文字合成函数
    yaerda
        20
    yaerda  
       2018-07-18 23:44:19 +08:00 via Android
    额,这两天刚写了个,直接小程序 canvas 画一个就可以,可以搜 小程序 canvas 二维码
    yaerda
        21
    yaerda  
       2018-07-18 23:45:29 +08:00 via Android
    @yaerda canvas 画好后,调用 canvasToImage (好像差不多是这个),就可以保存了
    swkl86
        22
    swkl86  
       2018-07-19 14:30:13 +08:00 via Android
    七牛接口相关了解下,很容易合成
    walker4680
        23
    walker4680  
    OP
       2018-07-19 19:15:34 +08:00
    感谢各位的献计献策,我们最终的方案是:前端来合成最终的图片,需要从后台获取生成海报的动态内容数据。
    这样做的好处正如 @yamedie 所言,效率更高,也把运算负担转移给了前端;可能的缺陷在于,如果运营更改了海报样式,则前端必须重新发包。再次谢谢大家!
    walker4680
        24
    walker4680  
    OP
       2018-07-19 19:17:45 +08:00
    @swkl86 能不能发一下介绍链接?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5390 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:52 · PVG 15:52 · LAX 23:52 · JFK 02:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.