html2canvas可以在页面中呈现svg吗?

rak*_*nsi 10 svg html2canvas

我正在使用html2canvas来创建包含SVG的HTML页面的"屏幕截图".除了元素外,一切看起来都不错.我知道应该可以在Canvas中渲染SVG; PhantomJS,fabric.js和CanVG都可以.

这是html2canvas不支持的东西吗?或者我做错了什么,这应该有效吗?

如果没有实现,扩展html2canvas(使用canvg)的最佳方法是什么?

rak*_*nsi 10

捕获SVG图像的工作原理是使用canvg将它们转换为画布.包括该页面上指示的两个javascript文件.那么最简单的方法是:

<body onload="canvg()">
Run Code Online (Sandbox Code Playgroud)

请参阅无参数调用示例.当所有SVG图像都已转换后,html2canvas可以完美运行.

当然,所有SVG图像都将转换为画布,但我没有看到差异.