V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
isayr
V2EX  ›  问与答

关于长微博的实现方法

  •  
  •   isayr · 2013-06-20 11:40:05 +08:00 · 4038 次点击
    这是一个创建于 4159 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一直对这个不太关心。今天看爱范儿的文章下面有个生成长微博,试了一下,发现可以生成图文格式的。请问这是如何实现的呢?是区域截图还是html直接生成的呢?

    比如这篇生成的长微博 http://app.ifanr.com/changweibo/#305760
    10 条回复    1970-01-01 08:00:00 +08:00
    qiayue
        1
    qiayue  
       2013-06-20 11:51:22 +08:00
    我觉得跟我们 ui4app 生成发送到微博的长图片是一样的原理,直接用程序生成图片,把文字、图片画到画布上去

    isayr
        2
    isayr  
    OP
       2013-06-20 12:06:49 +08:00
    @qiayue 单独的图片或者文字感觉很容易,但是图文混排的话,有没有直接html 到 图片这样的方式。

    好像36kr的内容也可以这样生成,但是网上找了一圈。好像都没有一个好的解决方案。
    F0ur
        3
    F0ur  
       2013-06-20 12:07:22 +08:00
    我也觉得区域截图的实现可能更复杂点,楼上说的代码生成图片的可能性更高
    F0ur
        4
    F0ur  
       2013-06-20 12:12:23 +08:00
    zorceta
        5
    zorceta  
       2013-06-20 12:16:56 +08:00
    @isayr
    @F0ur 原来看php gd库时看到的 可以把一张图叠加到另一张图上 再加上imagestring() 你们懂得
    isayr
        6
    isayr  
    OP
       2013-06-20 12:28:30 +08:00
    @zorceta gd库是可以叠加。但是要图文混排的话。不可能一段一段的取出来叠加吧
    isayr
        7
    isayr  
    OP
       2013-06-20 12:30:38 +08:00
    @F0ur 要截整个页面,实现方法很多。难道他们是程序生成一个排版好的页面,然后代码截整个页面,,然后保存成文件。。。。貌似这样最简单。。。
    dreampuf
        8
    dreampuf  
       2013-06-20 12:43:19 +08:00
    问题是排版,图文结合

    - 基于浏览器渲染结果截图
    - 手绘,我当时选择的就是手绘,好处是细节可控
    - Python,PIL,Freetype
    - 布局
    - 图片处理,下载,缩放。。。
    - 文本断行,中文符号处理,段落行尾空白寻最优
    F0ur
        9
    F0ur  
       2013-06-20 13:53:31 +08:00
    @isayr 我也是这样想的,就是一个只有文章的页面调用,然后截图,这样最简单了
    F0ur
        10
    F0ur  
       2013-06-20 13:54:26 +08:00
    @zorceta 图文混排的话因为不支持html,所以要写出一套解析规则,另外GD库对中文字的支持其实挺差的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2853 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:30 · PVG 21:30 · LAX 05:30 · JFK 08:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.