1
Aether 2017-02-21 21:44:45 +08:00 3
我最开始用的是手动写代码计算(包括换行、行距、字间距等等)。但后来也觉得麻烦。
现在的方案是渲染成网页,然后一个截屏结束。 https://github.com/vbauer/manet 简单高效(如果用得比较少的时候)。 但如果你需要产生很大量的,每一张都不一样的截图,可能还是要考虑自己写代码实现,然后异步调用。 中间有一个坑是中文 font 安装,但填起来问题不大。 |
2
Aether 2017-02-21 21:56:54 +08:00 2
这是两个我生成的图文供参考:
因为是网页,所以网页可以显示成什么样,你就可以生成什么样的图,控制力很强,也不需要写代码。部署完成后需要修改,改改 CSS 重刷就可以试试看到效果。缺点就是每次生成都需要一些时间(配置更好的机器或者资源可能可以提升部分性能) 但生成截图本来都属于大开销,理论上反正都需要异步生成的,所以应该还好。 |
3
xingzhi OP @Aether
你好,感谢回复。 我目前就是用手动写代码计算的,细调起来特别麻烦。 你说的这个是个很好的办法,实现起来也简单,没必要跟代码死磕。 只是需要多部署一个 web server 来渲染而已。 感谢。 |
4
l0o0 2017-02-21 23:46:40 +08:00
可不可以渲染成网页然后转成图片呢。你需要的图片可以当作背景,然后是不是可以修改字体样式了,之后再转换成图片格式
|
8
blueset 2017-02-22 06:57:59 +08:00
顺便借地方提一个问题:
如果需要带 Alpha 通道的图片的话,有什么解决办法码?因为网页截图出来的都是有背景色的。 |
9
whnzy 2017-02-22 09:27:00 +08:00
我是通过计算间距来做的,但是一碰上中英文混合就崩溃了。
|