首页 > canvas的drawImage无法显示图像

canvas的drawImage无法显示图像

经测试,在firefox上可以显示图片,但是在chrome上无法显示,求教?

<style>
#canvas{
border:1px solid yellow;
position:absolute;
left:500px;
top:50px;
}
</style>

<script src="demo.js"></script>

demo.js:
window.onload=function(){
var Canvas=document.getElementById("canvas");
var cxt=Canvas.getContext("2d");
var bg=new Image();
bg.src="../img/2-14020314314A26.jpg";
cxt.drawImage(bg,0,0);
};


window.onload=function(){
    var Canvas=document.getElementById("canvas");
    var cxt=Canvas.getContext("2d");
    var bg=new Image();
    //你指定了图片的地址,但是图片的加载是需要时间的
    bg.src="../img/2-14020314314A26.jpg";
    //执行完上面一行,马上就开始画这个图
    //虽然bg这个对象有了,但是图片还没有加载完成,因此画的时候什么都没有
    cxt.drawImage(bg,0,0);
};

改成这样:

window.onload=function(){
    var Canvas=document.getElementById("canvas");
    var cxt=Canvas.getContext("2d");
    var bg=new Image();
    //先指定一个回调函数,图片加载好之后自然会回来执行
    bg.onload = function () {
        cxt.drawImage(bg,0,0);
    };
    //加载图片,完成后执行刚才的函数
    bg.src="../img/2-14020314314A26.jpg";
};

感兴趣的话可以来看看我的Gorgeous.JS。


var bg=new Image();
bg.src="../img/2-14020314314A26.jpg";//只是更新了DOM对象,图片数据信息还未加载完成,加载资源是异步执行的
需要监听load事件的,事件发生后,就能获取资源
如楼上所写...

【热门文章】
【热门文章】