dom-to-image库不适用于svg镜像

时间:2017-07-10 21:32:01

标签: svg snapshot

我在div中有一个SVG图像元素,我想转换为png。所以我用dom来映像库toPng函数并将div元素传递给它。但我得到一个空白图像作为输出。

这就是div的样子:

<div id="element">
<svg height="103" version="1.1" width="103" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 
style="overflow: hidden; position: relative; left: -0.328125px;" viewBox="0 0 103 103" preserveAspectRatio="xMidYMid meet">
<desc style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">Created with Raphaël 2.2.0</desc>
<defs style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"/>
<image x="1.5" y="38.41666666666667" width="100" height="26.166666666666664" preserveAspectRatio="none" 
href="https://www.planwallpaper.com/static/images/desktop-year-of-the-tiger-images-wallpaper.jpg" 
style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"/>
</svg> 
</div>

这是我的代码试图拍摄dom图像:

domtoimage.toPng(node).then((dataUrl)=> {

var img = new Image();

img.onload = () => {
                    _view.localScreenshotSource = img.src;
                    observer.next(img.src);
                };
img.src = dataUrl;
})

与svg文本类似的代码工作正常。

我做错了吗?

由于

1 个答案:

答案 0 :(得分:0)

您在HTML中使用了错误的标记,将图像更改为img并重试