我正在尝试创建一个将创建图像并将其绘制在画布上的对象。我不仅仅是常规图像对象的原因是我想知道对象在画布上的位置以进行鼠标操作。
这是我的构造函数:
function DisplayImg(src, x, y, w, h) {
this.src = src;
this.x = x;
this.y = y;
this.w = w;
this.h = h;
}
我创建了一个绘制函数将其绘制到画布上:
DisplayImg.prototype.draw = function(context) {
img = new Image();
img.src = this.src;
img.onload = function() {
context.drawImage(img,this.x,this.y,this.w,this.h);
}
}
然后,我对 instagram 进行 API 调用并获取一些照片 url 并将它们放入一个数组中。在这里,我试图遍历该数组并为每个数组创建一个对象,并将其绘制到画布上。我可以 console.log 数据并查看图像 src,所以我知道数据在那里。这是我在取回数据后调用的函数:
function draw() {
for (var i = 0; i < srcArr.length; i++) {
var src = srcArr[i];
x = Math.floor(Math.random()*8);
y = Math.floor(Math.random()*8);
var theImage = new DisplayImg(src,x,y,75,75);
theImage.draw(context);
}
}
我的日志返回正确的数据,但没有图像被绘制到画布上。任何帮助是极大的赞赏。