将远程image图片转base64编码

最近在开发微信网页项目上遇到一个小问题,canvas生成海报需要用到一张图片,而这张图片刚好是别的域名。为此

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");
    return dataURL // return dataURL.replace("data:image/png;base64,", ""); 
}
function myBase64() { 
	var img = document.createElement('img');//创建新节点
	var inImgUrl=$('#inImg').attr('src') ;//获取远程图片url
	var inImgw=$('#inImg').width();//获取当前远程图片在当前屏幕上的宽带
	var inImgh=$('#inImg').height();//获取当前远程图片在当前屏幕上的高度
	img.src = inImgUrl; //把图片url赋值给新节点
	img.setAttribute('width',inImgw);//设置新图片节点的宽
	img.setAttribute('height',inImgh);//设置新图片节点的高
	img.onload =function() { 
		var newImg = getBase64Image(img); //编译base64
		//alert(newImg);
		img.src = newImg; 
	} 
	$('#posterCanvasHeadimg').html(img); //插入新建的img
}
myBase64();
为此图片已经转成base64了

猜你喜欢

转载自blog.csdn.net/weixin_38047955/article/details/80197492