fillRect |
ctx.clearRect(0, 0, 256, 256); for (var j = 0; j < 16; j++) { var xoff = Math.cos(j / 16 * Math.PI * 2) * 32 + 128; var yoff = Math.sin(j / 16 * Math.PI * 2) * 32 + 128; for (var i = 0; i < 256; i++) { var x = Math.cos(i / 256 * Math.PI * 2) * 64 + xoff; var y = Math.sin(i / 256 * Math.PI * 2) * 64 + yoff; ctx.fillRect(x, y, 1, 1); } }
|
pending… |
putImageData |
var px = framebuffer.data; for (var i = 0; i < px.length; i++) { px[i] = 0; } for (var j = 0; j < 16; j++) { var xoff = Math.cos(j / 16 * Math.PI * 2) * 32 + 128; var yoff = Math.sin(j / 16 * Math.PI * 2) * 32 + 128; for (var i = 0; i < 256; i++) { var x = Math.cos(i / 256 * Math.PI * 2) * 64 + xoff; var y = Math.sin(i / 256 * Math.PI * 2) * 64 + yoff; var off = (y * 256 + x) * 4; px[off] = 0; px[off + 1] = 0; px[off + 2] = 0; px[off + 3] = 255; } } ctx.putImageData(framebuffer, 0, 0);
|
pending… |
putImageData with fresh buffer |
ctx.clearRect(0, 0, 256, 256); var framebufferi = ctx.getImageData(0, 0, 256, 256); var px = framebufferi.data; for (var j = 0; j < 16; j++) { var xoff = Math.cos(j / 16 * Math.PI * 2) * 32 + 128; var yoff = Math.sin(j / 16 * Math.PI * 2) * 32 + 128; for (var i = 0; i < 256; i++) { var x = Math.cos(i / 256 * Math.PI * 2) * 64 + xoff; var y = Math.sin(i / 256 * Math.PI * 2) * 64 + yoff; var off = (y * 256 + x) * 4; px[off] = 0; px[off + 1] = 0; px[off + 2] = 0; px[off + 3] = 255; } } ctx.putImageData(framebufferi, 0, 0);
|
pending… |
0 comments