drawimage()在js中不起作用

时间:2015-03-26 11:06:47

标签: 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 render()
{
    playerimg.onload = drawcharacter();
}

function drawcharacter(){
    ctx.drawImage(playerimg, 340, 240, 50, 50);
}

playerimg.src = "playersrc.png";
window.onload = render();
render();

1 个答案:

答案 0 :(得分:1)

你的错误在于这一行:

playerimg.onload = drawcharacter();

您的意图似乎是为drawcharacter制作playerimg onload处理程序。但是这行实际上做的是立即执行drawcharacter()然后将返回值指定为playerimg的onload处理程序。该函数不返回任何内容,因此您的onload处理程序设置为undefined

要正确地将函数指定为onload处理程序,请省略括号:

playerimg.onload = drawcharacter;