drawimage() 在 js 中不起作用

drawimage() not working in js

我想在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();

你的错误在这一行:

playerimg.onload = drawcharacter();

您的意图似乎是让 drawcharacter 成为 playerimg 的加载处理程序。但是这一行实际上做的是立即执行drawcharacter()然后分配return值作为onload处理程序playerimg。该函数没有 return 任何内容,因此您的 onload 处理程序设置为 undefined.

要将函数正确分配为加载处理程序,请省略括号:

playerimg.onload = drawcharacter;