vue 远程图片转 baseb4

methods中新增方法

methods: {
            //异步执行
            imageUrlToBase64(img) {
                //一定要设置为let,不然图片不显示
                let image = new Image();

                //解决跨域问题
                image.setAttribute('crossOrigin', 'anonymous');

                let imageUrl = img;
                image.src = imageUrl;

                //image.onload为异步加载
                image.onload = () => {
                    var canvas = document.createElement("canvas");
                    canvas.width = image.width;
                    canvas.height = image.height;
                    var context = canvas.getContext('2d');
                    context.drawImage(image, 0, 0, image.width, image.height);

                    var quality = 0.6;
                    //这里的dataurl就是base64类型
                    //使用toDataUrl将图片转换成jpeg的格式,不要把图片压缩成png,因为压缩成png后base64的字符串可能比不转换前的长!
                    var dataURL = canvas.toDataURL("image/jpeg", quality);
                    console.log(dataURL)
                }
            },
}

调用:

this.imageUrlToBase64('https://s1.xmcdn.com/yx/ximalaya-web-static/last/dist/images/logo_a8388cb.png')
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容