캔버스에 이미지 배열을 그리려하지만, onload 메서드에 문제가 있습니다.CANVAS에서 이미지 배열 그리기
는 내가 온로드가 완료되기 전에 이미지가 캔버스에 그려진 할 수 없기 때문에이 문제가 될 수 있다고 생각하고, 그것을위한 내부 아마 내가 모든 참조를 잃어 때문에 ... 여기
내 코드는 다음과 같습니다// Grab the Canvas and Drawing Context
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
// Create an image element
var bg = document.createElement('IMG');
// When the image is loaded, draw it
img.onload = function() {
ctx.drawImage(bg, 0, 0);
}
// Specify the src to load the image
fondo.src = "../img/auxfinal.png";
img.src = "../img/bolso.png";
// var res is is my array where i have on each position (img name, x, y)
var arrayLength = res.length;
for (var i = 0; i < arrayLength; i++) {
var aux = document.createElement('IMG');
aux.onload = function() {
ctx.drawImage(aux, res2[1].substr(0,res2[1].length-2), res2[2].substr(0,res2[2].length-2));
}
}
그것은 당신의 루프에서 당신은'보조 할당하지 않을 것 같습니다. src ='. 그리고 당신은 참조를 잃는 것에 대해 옳습니다. 그려진 배열의 마지막 항목 만 가져옵니다. '.onload'를 자신의 종료점에 두십시오. 뭔가 '함수 drawImage (aux) {aux.onload ...}'와 같은 것이고 루프에서 호출합니다. – gtramontina