【发布时间】:2013-12-22 21:44:36
【问题描述】:
我有一个图像对象数组,其中包含所有必要的信息,如路径、x、y、w、h。现在我想在画布上循环绘制所有这些图像.. 但是当我这样做时,它只绘制第一张图像。代码如下:
for(var i=0; i<shapes.length; i++)
{
var A = shapes.pop();
if(A.name == 'image' && A.pageNum == pNum)
{
var img = new Image();
img.src = A.path;
img.onload = function() {
context.drawImage(img, A.x, A.y, A.w, A.h);
}
}
}
我检查了形状数组中的所有信息...在 if 条件内,在调用 drawImage 函数之前,每个图像的所有信息都是正确的,但是由于某些奇怪的原因,它不显示图像,除了“最后一个”数组(最后弹出的那个)
【问题讨论】:
-
会不会是所有的图像都在彼此重叠?您正在将所有图像添加到同一个画布中。你检查过每张图片的 x 和 y 值吗?
-
是的,每张图片的 x 和 ys 都不一样...
标签: javascript canvas html5-canvas drawimage