我有这个绘制到画布的对象,但我似乎无法获得图像的尺寸(宽度/高度)。
var rawr = {
x: 0,
y: 0,
speed: 4,
height:0,
img: new Image(),
url: "https://www.google.co.uk/images/srpr/logo11w.png",
init: function() {
this.img.src=this.url;
this.height=this.img.height;
},
draw: function() {
canvas.drawImage(this.img,this.x,this.y);
},
move: function() {
if(this.y>CANVAS_HEIGHT)
{
this.y=this.height*-1;
}
this.y+=this.speed;
}
};
基本上,this.height
保持为零,如最初定义的那样。我该如何纠正?
提前致谢, 添
答案 0 :(得分:3)
如果我正确读取此信息,则在设置src后立即检查高度。尝试在onLoad事件处理程序中执行此操作,以便等待加载图像然后调整图像标记的大小,否则它不知道高度。
答案 1 :(得分:3)
在利用其高度之前,等待图像的上传触发。像这样:
var imagePreloaded = this.img;
imagePreloaded.onload(function(){
var height = imagePreloaded.height;
})