共计 字 • 阅读约 min

网上有很多的在线 base64 编码转图片的工具,但是很多都不能转换 svg 格式的,所以就用 JavaScript,写了一个转换程序

graph TB base64编码svg --> canvas的Api --> svg图片

HTML

<img id="J_svg" src="需要转换的base64编码svg" alt="">

Js

const svgImgEl = document.getElementById('J_svg');
  const base64Value = svgImgEl.getAttribute('src');
  const img = new Image();
  img.setAttribute('src', base64Value);
  img.onload = function () {
    const canvas = document.createElement('canvas');
    canvas.width = svgImgEl.offsetWidth;
    canvas.height = svgImgEl.offsetHeight;
    const ctx = canvas.getContext('2d');
    context.drawImage(img, 0, 0);
    var canvasData = canvas.toDataURL('image/png');
      const img2 = document.createElement('img');
      img2.setAttribute('src', canvasData);

      img2.onload = function() {
        var a = document.createElement('a');
        a.download = 'svg.png';
        a.href = img2.getAttribute('src');
        a.click();
      }
    
  }


文章更新于: 2021-2-18 13:12:0