前端如何将svg元素转为img

178 阅读1分钟

某些特殊的场景下无法直接嵌入svg标签(如在wangeditor编辑器中无法直接插入svg标签,仅支持img),需要将svg转为img。

(1)获取已存在的svg元素

const svgDOM = document.querySelector('svg');

(2)获取SVG的XML代码作为字符串

const svgString = new XMLSerializer().serializeToString(svgDOM);

(3)使用btoa函数进行Base64编码

const base64String = btoa(svgString);

(4)创建Data URL

const dataUrl = 'data:image/svg+xml;base64,' + base64String;

(5)放入img标签的src

<img src=${dataUrl}/>