私のalbImg配列に画像をロードしています。私のループでjavascript canvas - toDataURL()で作成した画像がロードされているかどうかを確認します。
私は、この操作を行います。
for(var j = 1; j < albImg.length; j++){
if(albImg[j].complete == true && albImg[j].width > 0){
loadedimages++;
}
}
すべての私のイメージがロードされていることを確認します。 私は、このように私のflipImg()関数を呼び出します。
if(loadedimages == albImg.length-1){
flipImg();
}
私は、画像を反転し、私の問題が始まる
ctx2.save();
ctx2.scale(-1, 1);
for (var i = RszSpriteCount; i < sprites.length; i++) {
ctx2.drawImage(albImg[sprites[i][0]], sprites[i][1], sprites[i][2], sprites[i][3], sprites[i][4], 0 - (sprites[i][1] + sprites[i][3]), sprites[i][2], sprites[i][3], sprites[i][4]);
}
ctx2.restore();
var flipSz = albImg.length;
albImg[flipSz] = new Image();
albImg[flipSz].src = cnv2.toDataURL();
がここにあります。
私が作成した新しい画像 - albImg [5] - は読み込まれるまで表示できません。 しかし、すでに読み込まれているかのように作成されます。
albImg私はそれを表示する前に、[5] .widthは既に(750に)設定されています。それを言うことです
。 albImg [5] .completeは、表示する前にtrueに設定されています。albImg [5] .onload = ctx.drawImage(albImg [5]、0、0);イメージがロードされる前にイメージを描画しようとします。
フリップしたイメージが表示される前に実際に読み込まれているかどうかを確認するにはどうすればよいですか? Javascriptで? (原因私はこのためにjQueryを使用していない状況に)
助けてください。
なぜ 'イメージがロードされる前に、表示しようonload'でしょうか? 'onload'の呼び出しはイメージがロードされていることを意味します。 – 11thdimension