2013-01-04 65 views
10

我正在使用html2canvas创建包含SVG的HTML页面的“截图”。 一切看起来不错,除了元素。 我知道应该可以在Canvas中渲染SVG; PhantomJS,fabric.js和CanVG都可以做到。html2canvas可以在页面中呈现svg吗?

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

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

+0

我找到了我的答案(或Google的):[here](https://github.com/niklasvh/html2canvas/issues/95)。 – rakensi

回答

10

通过使用canvg将SVG图像转换为画布来捕获SVG图像。包含该页面上显示的两个JavaScript文件。那么最简单的方法是:

<body onload="canvg()"> 

查看parameterless call example。 当所有的SVG图像都被转换后,html2canvas完美无缺地工作。

当然,所有的SVG图像都会被转换成画布,但我没有看到区别。