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