ImageCapture: grabFrame() method

Phương thức grabFrame() của giao diện ImageCapture chụp một ảnh từ video trực tiếp trong MediaStreamTrack và trả về một Promise phân giải thành một ImageBitmap chứa ảnh đó.

Cú pháp

js
grabFrame()

Tham số

Không có.

Giá trị trả về

Một Promise phân giải thành một đối tượng ImageBitmap.

Ngoại lệ

InvalidStateError DOMException

Được ném ra nếu thuộc tính readyState của MediaStreamTrack được truyền vào hàm khởi tạo không phải là live.

UnknownError DOMException

Được ném ra nếu thao tác không thể hoàn thành vì bất kỳ lý do nào.

Ví dụ

Ví dụ này được trích xuất từ Simple Image Capture demo. Nó minh họa cách dùng Promise được trả về bởi grabFrame() để sao chép frame trả về vào phần tử <canvas>. Để đơn giản, ví dụ không hiển thị cách tạo đối tượng ImageCapture.

js
let grabFrameButton = document.querySelector("button#grabFrame");
let canvas = document.querySelector("canvas");

grabFrameButton.onclick = grabFrame;

function grabFrame() {
  imageCapture
    .grabFrame()
    .then((imageBitmap) => {
      console.log("Grabbed frame:", imageBitmap);
      canvas.width = imageBitmap.width;
      canvas.height = imageBitmap.height;
      canvas.getContext("2d").drawImage(imageBitmap, 0, 0);
      canvas.classList.remove("hidden");
    })
    .catch((error) => {
      console.error("grabFrame() error: ", error);
    });
}

Thông số kỹ thuật

Thông số kỹ thuật
MediaStream Image Capture
# dom-imagecapture-grabframe

Tương thích trình duyệt