svg转换base64 png

521 阅读1分钟
svg转化为png-base64
svgTopng(svg) {
      return new Promise((resolve) => {
        let svgProp = new XMLSerializer().serializeToString(svg)
        let image = 'data:image/svg+xml;base64,' + btoa(unescape(encodeURIComponent(svgProp)))
        let img = new Image();
        img.src = image;
        img.onload = () => {
          let canvas = document.createElement('canvas');
          canvas.width = document.documentElement.clientWidth;
          canvas.height = document.documentElement.clientHeight;
          let context = canvas.getContext('2d');
          context.drawImage(img, 0, 0);
          resolve(canvas.toDataURL('image/png') || '')
        }
      })
    },