我创建了一个将图像的 DataURI 存储在本地存储中的函数。
数据完美地存储在本地存储中,但如果我尝试从函数(即 return 语句)中获取值,那么我会得到“未定义”值。很可能,该函数甚至在转换为 dataURL 之前就已返回值。
需要你的帮助。
这是我的代码:
function getImageDataURL(local_name,w,h,i){
var data, canvas, ctx;
var img = new Image();
img.onload = function(){
canvas = document.createElement('canvas');
canvas.width = w;
canvas.height = h;
ctx = canvas.getContext("2d");
ctx.drawImage(img,0,0,w,h);
try{
data = canvas.toDataURL("image/png");
localStorage.setItem(local_name,data);
}catch(e){
console.log("error "+e)
}
}
try{
img.src = i;
}catch(e){}
return data;
}