vue读取修改svg颜色 并转换为base64格式

created() {
    this.title = this.readFile("../../../static/images/雷达.svg");
    console.log(this.title,"svg文件读取");
    var newSvg=this.title.replace(/#(?:[0-9a-fA-F]{6})/, "#f1f1f1");
    console.log(newSvg,"修改颜色后的svg文件");
    var href = 'data:image/svg+xml;base64,' + window.btoa(unescape(encodeURIComponent(newSvg)));//svg转base64
    console.log("svg转base64",href);
},

methods:{
    // 读取svg代码
    readFile(filePath) {
        // 创建一个新的xhr对象
        let xhr = null
        if (window.XMLHttpRequest) {
        xhr = new XMLHttpRequest()
        } else {
        xhr = new ActiveXObject('Microsoft.XMLHTTP')
        }
        const okStatus = document.location.protocol === 'file' ? 0 : 200
        xhr.open('GET', filePath, false)
        xhr.overrideMimeType('image/svg+xml')
        xhr.send(null)
        return xhr.status === okStatus ? xhr.responseText : null
    },
}

JS利用正则配合replace替换指定字符

svg转base64

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值