有的時候基于業(yè)務(wù)需求,我們需要把圖片轉(zhuǎn)化為base64格式的圖片,然后就有了以下方法:
function getBase64Image(img) {
// 傳入?yún)?shù):圖片URL 不接受跨域資源
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 ext = img.src.substring(img.src.lastIndexOf(".")+1).toLowerCase();
var dataURL = canvas.toDataURL("image/"+ext);
return dataURL;
}
原理非常簡單,將圖片繪制到canvas中,然后使用canvas的toDataURL方法就可以將圖片轉(zhuǎn)化為base64格式的圖了。