У меня есть 3 изображения «Имена», «Xpositions», «Ypositions», «scale» и «color values», хранящиеся в различных массивах, например:
pictureNames["blahblah1, "somePic2", "anotherPic3"];
pictureXcoordinates[0, 43, 56];
pictureYcoordinates[0, 10, 20];
pictureScales[100, 100, 100]; //meaning percent
pictureColorRvalue[0, 0, 0];
pictureColorGvalue[0, 0, 0];
pictureColorBvalue[0, 0, 0];
Изображения в формате PNG предварительно загружаются и присваиваются в следующих переменных: picture0, picture1, picture2.
Я пытаюсь сохранить много строк кодирования, создав цикл for, чтобы нарисовать каждое изображение с его размером и координатами в свой собственный холст, а затем раскрасить их, получив данные изображения. Вот так:
var counter;
for(counter = 0; counter <= 2; counter++){
firstCtx.drawImage(picture1 ,pictureXcoordinates[counter], pictureYcoordinates[counter], picture0.width, picture0.height);
firstCtx.restore();
var imgData = firstCtx.getImageData(pictureXcoordinates[counter], pictureYcoordinates[counter], canvasW, canvasH);
var i;
for (i = 0; i < imgData.data.length; i += 4) {
imgData.data[i] = pictureColorRvalue[counter];
imgData.data[i+1] = pictureColorGvalue[counter];
imgData.data[i+2] = pictureColorBvalue[counter];
}
firstCtx.putImageData(imgData, shapePositionX[counter], shapePositionY[counter]);
firstCtx.restore();
... но я не знаю, как ссылаться на «firstCtx», secondCtx »,« thirdCtx », используя переменную counter .... следует / могу ли я переименовать содержимое холста« canvas1Ctx »,« canvas2Ctx », и т.д .... и ссылаться на них с помощью "canvas" + counter + "Ctx" или чего-то в этом роде? И ссылаться на "picture0", "picture1" и "picture2".