HTMLキャンバスでピクセルレベルの操作をしていて、putImageData()
機能のバグがありました。ここに私のコードは次のとおりです。javascriptバグcanvasでputImageData関数がforループ内にある
var can = document.getElementById("canvasID");
var ctx = can.getContext("2d");
var picToAlter = document.getElementById("image");
var pix = ctx.createImageData(1, 1);
var colData = pix.data;
colData[someNumber] = someValue;
ctx.drawImage("image", 0, 0);
for(let i=0;i<=can.width; i+10){
ctx.putImageData(pix, i, 0);
}
私は私のブラウザ(Firefoxの)でこのコードを実行しようとするページは、単に私が待ってどのくらいに関係なくロードに失敗し、そして、私はロードを停止したい場合は、最終的に、私に尋ねますプロセス。この問題は私のfor-loopにあると思われます。なぜなら、コードのインスタンスを1つ実行すれば、それが機能するからです。私はそれをループに入れた瞬間、ロードしないことに戻ります。代わりにwhileループを使用しても、これは当てはまります。私はputImageData
が遅くなることがあることを知っていますが、私はループを無限にする何か明白なものを見逃しているように感じますが、私はそれを見つけることができません。
いいえ、イテレータが問題でした。それを変更し、それはすぐに働いた。ありがとう! – GreenSonic98