ImageCapture: getPhotoSettings() method

Phương thức getPhotoSettings() của giao diện ImageCapture trả về một Promise phân giải thành một đối tượng chứa các cài đặt cấu hình ảnh hiện tại.

Cú pháp

js
getPhotoSettings()

Tham số

Không có.

Giá trị trả về

Một Promise phân giải thành một đối tượng chứa các thuộc tính sau:

fillLightMode

Chế độ đèn flash của thiết bị chụp, một trong các giá trị "auto", "off", hoặc "flash".

imageHeight

Chiều cao hình ảnh mong muốn dưới dạng số nguyên. Trình duyệt chọn giá trị chiều cao gần nhất với cài đặt này nếu chỉ hỗ trợ các chiều cao rời rạc.

imageWidth

Chiều rộng hình ảnh mong muốn dưới dạng số nguyên. Trình duyệt chọn giá trị chiều rộng gần nhất với cài đặt này nếu chỉ hỗ trợ các chiều rộng rời rạc.

redEyeReduction

Giá trị boolean cho biết liệu có nên sử dụng tính năng giảm mắt đỏ nếu có hay không.

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.

OperationError 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ụ dưới đây, được trích xuất từ Chrome's Image Capture / Photo Resolution Sample, sử dụng kết quả từ getPhotoSettings() để thay đổi kích thước của một phần tử input range. Ví dụ này cũng minh họa cách tạo đối tượng ImageCapture bằng cách dùng MediaStreamTrack lấy từ MediaStream của thiết bị.

js
const input = document.querySelector('input[type="range"]');

let imageCapture;

navigator.mediaDevices
  .getUserMedia({ video: true })
  .then((mediaStream) => {
    document.querySelector("video").srcObject = mediaStream;

    const track = mediaStream.getVideoTracks()[0];
    imageCapture = new ImageCapture(track);

    return imageCapture.getPhotoCapabilities();
  })
  .then((photoCapabilities) => {
    const settings = imageCapture.track.getSettings();

    input.min = photoCapabilities.imageWidth.min;
    input.max = photoCapabilities.imageWidth.max;
    input.step = photoCapabilities.imageWidth.step;

    return imageCapture.getPhotoSettings();
  })
  .then((photoSettings) => {
    input.value = photoSettings.imageWidth;
  })
  .catch((error) => console.error("Argh!", error.name || error));

Thông số kỹ thuật

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

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