Javascript drawimage()在js中不工作
我想用javascript画一个图像,我不知道为什么它不画。我在互联网上寻找答案,但找不到。代码如下:Javascript drawimage()在js中不工作,javascript,image,html5-canvas,Javascript,Image,Html5 Canvas,我想用javascript画一个图像,我不知道为什么它不画。我在互联网上寻找答案,但找不到。代码如下: var canvas = document.getElementById('canvas'); var ctx = canvas.getContext('2d'); canvas.width = 640; canvas.height = 480; var playerimg = new Image(); function setup(){ render(); } function
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
canvas.width = 640;
canvas.height = 480;
var playerimg = new Image();
function setup(){
render();
}
function render()
{
playerimg.onload = drawcharacter();
}
function drawcharacter(){
ctx.drawImage(playerimg, 340, 240, 50, 50);
}
playerimg.src = "playersrc.png";
window.onload = render();
render();
你的错误在这一行:
playerimg.onload = drawcharacter();
您的意图似乎是使drawcharacter
成为playerimg
的onload处理程序。但这一行实际做的是,立即执行drawcharacter()
,然后将返回值指定为playerimg
的onload处理程序。函数不返回任何内容,因此onload处理程序被设置为undefined
要将函数正确分配为onload处理程序,请省略括号:
playerimg.onload = drawcharacter;
“不工作”是什么意思?在你的问题中尽可能多地包含细节。如果你先初始化playerImg,你就可以在上面附加一个事件,无需等待文档加载。然后,尝试在附加事件后设置其src(此处不是这种情况),该事件可能在重新定义之前触发
playerimg.onload
。