使用Javascript将svg矢量图的转成base64

原创 野人  2022-09-06 12:01  阅读 76 次

想在活动链接推广插件中加上弹幕功能,而一般弹幕都是有头像和文字的,所以就在琢磨这个头像怎么来的比较好呢,于是就去找了下有没有随机头像的API,发现还真有,不过API返回的是个svg矢量图格式的图像,所以就想着能不能转成base64?

有些朋友可能好奇为什么要转为base64呢?其实也是害怕API接口不稳定性,base64可以理解为直接把图像离线化了,也就是下载来了,那么稳定性这个问题也就不存在了。

那么问题来了,怎么把svg矢量图的转成base64呢,具体代码如下:

/**
 * svg解析成base64
 * @param {*} svgEle
 * @returns string | boolean
 */
function svgToBase64(svgEle) {
  if (Object.prototype.toString.call(svgEle) === "[object SVGSVGElement]") {
    const svgStr = new XMLSerializer().serializeToString(svgEle);
    const base64 = `data:image/svg+xml;base64,${window.btoa(s)}`;
    return base64;
  }
  return false;
}

其实,有是时候想了想,如果Javascript官方不提供相应的API,也就没有办法直接在浏览器上转了,所以我就是个搬砖的。

本文地址:https://www.yerenwz.com/6139.html
版权声明:本文为原创文章,版权归 野人 所有,欢迎分享本文,转载请保留出处!

发表评论