Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> HTML

Tạo hiệu ứng nhiễu vô tận trên canvas để mô phỏng chuyển động trong HTML

Phương thức putImageData() đặt dữ liệu hình ảnh lên canvas. Để tạo hoạt ảnh, chúng ta tạo một đối tượng ImageData có thể tái sử dụng bên ngoài vòng lặp chính:

var ct = c.getContext("2d", {alpha: false}); // context không có kênh alpha
var a = ct.createImageData(c.width, c.height);
var buffer = new Uint32Array(a.data.buffer);

function loop() {
  noise(ct);
  requestAnimationFrame(loop);
})();

function noise(ct) {
  var l = buffer.length - 1;
  while(l--) buffer[l] = Math.random() < 0.5 ? 0 : -1 >>> 0;
  ct.putImageData(a, 0, 0);
}