Как нарисовать несколько изображений на холсте в виде петли? - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь нарисовать несколько изображений на холсте, и все изображения появляются динамически. Канва ничего не показывает, если я пытаюсь нарисовать в форме цикла.

var pname=getUrlParameter("pname");//getting a string of images
var pname_array = pname.split(",");//converting int the form of array
console.log(pname_array);

$("canvas#c").width("375");//setting width of canvas
var height_canvas = pname_array.length * 554;//total of height of canvas  depends on the number of images (each image height should be 554px)
$("canvas#c").height(height_canvas);

var canvas = document.getElementById("c");
var ctx = canvas.getContext("2d");

for(var i=0; i < pname_array.length; i++){
    var canvas = document.getElementById("c");
    var ctx = canvas.getContext("2d");
    var image = new Image();
    image.src = image_get+pname_array[i]+'-sy1';//image source for each iteration
    //image.onload = function() {
    ctx.drawImage( image, 0, (i*554) );//drawing the image
    //};
}

1 Ответ

0 голосов
/ 10 мая 2019

Удалите эти две строки в цикле for,

var canvas = document.getElementById("c");
var ctx = canvas.getContext("2d");

Вы уже объявили объект вне цикла.

...