您的位置:首页 > 其它

关于canvas无法通过drawImage加载的原因

2017-12-06 10:33 246 查看
在使用drawImage方法的时候,发现无法加载

var can = $('#mycanvas')[0];
var cxt = can.getContext('2d');
var bg = new Image();
bg.src = "img/bg.jpg";
cxt.drawImage(bg, 0, 0);


原因是图片的加载时异步的。在资源还没有加载完成的时候就执行了drawImage所以无法成功加载到画布当中。正确的写法应该是保证图片在onload以后才调用drawImage,而不是网上说的window.onload,因为我们的文档中并没有IMG元素

var can = $('#mycanvas')[0];
var cxt = can.getContext('2d');
var bg = new Image();
bg.src = "img/bg.jpg";
//图片资源加载时异步的。必须保证图片资源加载完成后才行
bg.onload = function() {

cxt.drawImage(bg, 0, 0);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐