关于长微博的实现方法

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

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

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

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

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

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

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

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

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

© 2021 V2EX