关于长微博的实现方法

2013 年 6 月 20 日
 isayr
一直对这个不太关心。今天看爱范儿的文章下面有个生成长微博,试了一下,发现可以生成图文格式的。请问这是如何实现的呢?是区域截图还是html直接生成的呢?

比如这篇生成的长微博 http://app.ifanr.com/changweibo/#305760
5037 次点击
所在节点    问与答
10 条回复
qiayue
2013 年 6 月 20 日
我觉得跟我们 ui4app 生成发送到微博的长图片是一样的原理,直接用程序生成图片,把文字、图片画到画布上去

isayr
2013 年 6 月 20 日
@qiayue 单独的图片或者文字感觉很容易,但是图文混排的话,有没有直接html 到 图片这样的方式。

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

- 基于浏览器渲染结果截图
- 手绘,我当时选择的就是手绘,好处是细节可控
- Python,PIL,Freetype
- 布局
- 图片处理,下载,缩放。。。
- 文本断行,中文符号处理,段落行尾空白寻最优
F0ur
2013 年 6 月 20 日
@isayr 我也是这样想的,就是一个只有文章的页面调用,然后截图,这样最简单了
F0ur
2013 年 6 月 20 日
@zorceta 图文混排的话因为不支持html,所以要写出一套解析规则,另外GD库对中文字的支持其实挺差的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/72983

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX