html2canvas - 动态生成微信分享海报的优质js库

如何把网页上的内容用javascript来实现截图?今天分享的html2canvas就可以。

html2canvas能用来做什么?

在微信项目中经常会遇到动态生成海报的需求,Web前端合成图片往往会使用canvas。canvas 虽然强大,但用来合成海报非常繁琐,一不小心就几百行代码了。而 html2canvas.js 是一款轻松地将HTML+CSS写成的布局直接转换成canvas,生成可保存分享的图片。

html2canvas.js官网截图

选择html2canvas的3个理由

  • 兼容现代浏览器,手机项目可放心大胆使用;
  • 官网文档清晰简单,用法简单支持npm/yarn和cdn引入,有充足的代码例子;
  • 支持部分常用的CSS属性,配合图片使用几乎能满足所有动态生成海报的需求。

开发使用感受

这是一个把HTML的DOM结构根据所支持的CSS样式生成 canvas 的js开源库,CSS的写法千变万化,不同的布局有很多不同的写法,因此 html2canva s是不能100%还原网页的样式,因此不用用于像电脑屏幕截图这样的需求中。

官网关于支持css的说明

使用的时候要注意查看所支持的CSS属性,尽量使用这些属性来写布局,不支持的效果可以尝试用图片来实现。只要产品经理脑子在线,目测几乎没有什么海报需求是实现不了的。

官网是英文的,写得很专业,谷歌翻译阅读无压力。

开源许可说明

html2canvas 由开发者 Niklas von Hertzen 创建,基于MIT许可开源,可以免费使用在任何项目。