html5可以画动态图吗,html5绘制图片的问题

本文探讨了JavaScript中使用`new Image()`加载图片时,将其置于函数内部与作为全局变量的不同效果。当将`new Image()`放入函数内部时,图片无法正常显示,而改为全局变量则可以正常工作。原因在于图片加载是异步的,必须等待加载完成才能绘制到画布上,全局变量使得图片加载发生在`drawGirl()`调用之前。
摘要由CSDN通过智能技术生成

为什么我把new Image()放在function里面时,图片出不来。

var girl = document.getElementById("girl");

var girlWidth = 800;

var girlHeight = 400;

girl.width = girlWidth;

girl.height = girlHeight;

var girlCans = girl.getContext('2d');

function init(){

drawGirl();

}

function drawGirl(){

var girlPic = new Image();

girlPic.src = "img/girl.jpg";

girlCans.drawImage(girlPic,0,0, girlWidth, girlHeight);

}

然而我把girlPic设为全局的就能正常显示

var girl = document.getElementById("girl");

var girlWidth = 800;

var girlHeight = 400;

girl.width = girlWidth;

girl.height = girlHeight;

var girlCans = girl.getContext('2d');

var girlPic = new Image();

girlPic.src = "img/girl.jpg";

function init(){

drawGirl();

}

function drawGirl(){

girlCans.drawImage(girlPic,0,0, girlWidth, girlHeight);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值