分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

JS 如何将“在线图片资源”转换成“base64”

发布时间:2023-09-06 01:54责任编辑:沈小雨关键词:base64

在实现html2canvas截图的功能时,发现不支持“图片跨域”,这可伤脑筋了;

偶然发现如果将“在线图片资源”转换成base64后,用base64渲染,这样完美解决问题;

因为图片时跨域的,所以我们在转换过程中需要加一段代码,用来支持跨域;

image.crossOrigin = "*";

完整代码如下:

function getBase64Image(img) { ???var canvas = document.createElement("canvas"); ???canvas.width = img.width; ???canvas.height = img.height; ???var ctx = canvas.getContext("2d"); ???ctx.drawImage(img, 0, 0, img.width, img.height); ???var dataURL = canvas.toDataURL("image/png"); ?// 可选其他值 image/jpeg ???return dataURL;}function main(src, cb) { ???var image = new Image(); ???image.src = src; ???image.crossOrigin = "*"; ?// 支持跨域图片 ???image.onload = function(){ ???????var base64 = getBase64Image(image); ???????cb && cb(base64); ???}}main(‘http://wwww.test/test.png‘, function(base64){ ???console.log(base64);});

目前,Data URI scheme支持的类型有:
data:,文本数据
data:text/plain,文本数据
data:text/html,HTML代码
data:text/html;base64,base64编码的HTML代码
data:text/css,CSS代码
data:text/css;base64,base64编码的CSS代码
data:text/javascript,Javascript代码
data:text/javascript;base64,base64编码的Javascript代码
data:image/gif;base64,base64编码的gif图片数据
data:image/png;base64,base64编码的png图片数据
data:image/jpeg;base64,base64编码的jpeg图片数据
data:image/x-icon;base64,base64编码的icon图片数据

JS 如何将“在线图片资源”转换成“base64”

原文地址:https://www.cnblogs.com/minigrasshopper/p/9042686.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved