每当我第一次加载页面时。图像无法恢复,但一旦我加载页面,我点击F5。然后它工作。我不是我的代码出错的地方。
// variable r contains the base64 string which is retrieved via a ajax call.
var myImage = new Image();
myImage.src = r;
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
ctx.drawImage(myImage, 0, 0);
确定。我没有在加载页面时自动调用ajax,而是通过按钮手动触发ajax调用,仍然得到相同的结果。 成功检索base64字符串并且未加载imaged。但是当我第二次点击按钮时。然后加载图像。
答案 0 :(得分:1)
var myImage = new Image();
myImage.src = r;
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
// wait for it to load before calling draw
myImage.onload = function() {
ctx.drawImage(myImage, 0, 0);
}