我在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文本类似的代码工作正常。
我做错了吗?
由于
答案 0 :(得分:0)
您在HTML中使用了错误的标记,将图像更改为img并重试