我想在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 render()
{
playerimg.onload = drawcharacter();
}
function drawcharacter(){
ctx.drawImage(playerimg, 340, 240, 50, 50);
}
playerimg.src = "playersrc.png";
window.onload = render();
render();
答案 0 :(得分:1)
你的错误在于这一行:
playerimg.onload = drawcharacter();
您的意图似乎是为drawcharacter
制作playerimg
onload处理程序。但是这行实际上做的是立即执行drawcharacter()
然后将返回值指定为playerimg
的onload处理程序。该函数不返回任何内容,因此您的onload处理程序设置为undefined
。
要正确地将函数指定为onload处理程序,请省略括号:
playerimg.onload = drawcharacter;