私の目標は、一連の png 画像から imageData の配列を作成することです。
これを行うには、for ループを使用して画像を処理し、それらをキャンバスに配置してから、作成された imageData を取得して配列に格納します。
問題は、イメージをキャンバスにロードするのに十分な時間がないことです。今のところ私の解決策は、タイマーに十分な時間を残すことですが、それは恐ろしいことです。
この問題の解決策が見つからないようです。キャンバスに「オンロード」機能を持たせる方法はありますか?
for(var i=1;i<50;i++){
(function(i){
setTimeout(function(){
return function(){
var newpath = path+i+".png"; //path to the image
baliseimg.onload = function(){ //baliseimg : html image tag
ctxt.drawImage(baliseimg,0,0);
ctxt.fillText(i, 50, 50); //just to stamp the image number on the imagedata
imgs[i-1]=ctxt.getImageData(0,0,512,512);
}
baliseimg.src=newpath;
}();
},100*i); //100ms works, limit seems to be at 40
}(i));
}
お時間をいただきありがとうございます。