У меня есть массив объектов изображения, которые содержат всю необходимую информацию, такую как path, x, y, w, h. Теперь я хочу нарисовать все эти изображения на холсте в цикле. Но когда я это делаю, он рисует только первое изображение. Вот код:drawImage в JavaScript (Canvas)
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);
}
}
}
я проверил все данные в массиве формы ... внутри если условие, перед вызовом функции DrawImage, вся информация о каждом изображении является правильным, но по какой-то странной причине, что Безразлично» t отображает изображения, кроме «последнего» в массиве (тот, который всплывает последним)
Может ли быть, что все изображения накладываются друг на друга? Вы добавляете все изображения в один холст. Вы проверили значения x и y для каждого изображения? – Poornima
Yup, x и ys разные для каждого изображения ... –