使用html2Canvas捕获SVG图像

时间:2017-09-07 13:46:44

标签: javascript html svg html2canvas canvg

我正在使用html2Canvas库并尝试使用以下代码制作SVG的屏幕截图:

var svgElements= $container.find('svg');
svgElements.each(function (){
    var canvas, xml;

    canvas = document.createElement("canvas");
    canvas.className = "screenShotTempCanvas";
    //convert SVG into a XML string
    xml = (new XMLSerializer()).serializeToString(this);
    xml = xml.replace(/xmlns=\"http:\/\/www\.w3\.org\/2000\/svg\"/, '');
    canvg(canvas, xml);
    $(canvas).insertAfter(this); 

    this.className"tempHide";
    $(this).hide();
}); 
$container.find('.screenShotTempCanvas').remove(); 
$container.find('.tempHide').show().removeClass('tempHide');

但我的问题是我在svg中有一个输入(foreignObject)。它所采用的屏幕截图仅包含svg元素。有人有解决方案吗?我怎样才能捕捉到页面上的所有元素?

感谢!

0 个答案:

没有答案