使用base64字符串还原画布

时间:2011-08-02 07:39:55

标签: javascript image html5 canvas

每当我第一次加载页面时。图像无法恢复,但一旦我加载页面,我点击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。但是当我第二次点击按钮时。然后加载图像。

1 个答案:

答案 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);
}