青い波をいくつか作成しようとしましたが、実行するとブラウザがフリーズします。キャンバスのサイズを 80 & 60 に縮小した場合にのみ機能します。
<canvas id="canvas" width="800" height="600"></canvas>
脚本:
var canvas=document.getElementById('canvas'), ctx = canvas.getContext('2d');
var imageData = ctx.createImageData(canvas.width, canvas.height);
for(var i=0; i<imageData.width; i++) {
for(var j=0; j<imageData.height; j++) {
imageData.data[((imageData.width * j) + i) * 4] = 0;
imageData.data[((imageData.width * j) + i) * 4+1] = 0;
imageData.data[((imageData.width * j) + i) * 4+2] = 127*Math.sin(i/100)+128;
imageData.data[((imageData.width * j) + i) * 4+3] = 255;
ctx.putImageData(imageData, 0, 0);
}
}
私は何を間違っていますか?なぜそんなに遅いのですか?