ImageCapture: getPhotoCapabilities()-Methode

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Die getPhotoCapabilities()-Methode des ImageCapture-Interfaces gibt ein Promise zurück, das mit einem Objekt aufgelöst wird, das die Bereiche der verfügbaren Konfigurationsoptionen enthält.

Syntax

js
getPhotoCapabilities()

Parameter

Keine.

Rückgabewert

Ein Promise, das mit einem Objekt aufgelöst wird, das die folgenden Eigenschaften enthält:

redEyeReduction

Gibt einen der Werte "never", "always" oder "controllable" zurück. Der Wert "controllable" bedeutet, dass die Reduzierung des Rote-Augen-Effekts durch den Benutzer gesteuert werden kann.

imageHeight

Gibt ein Objekt zurück, das den vom Benutzeragenten unterstützten Bildhöhensbereich angibt.

imageWidth

Gibt ein Objekt zurück, das den vom Benutzeragenten unterstützten Bildbreitenbereich angibt.

fillLightMode

Gibt ein Array der verfügbaren Optionen für die Fülllichtmodi zurück. Zu den Optionen gehören auto, off oder flash.

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn die readyState-Eigenschaft des im Konstruktor übergebenen MediaStreamTrack nicht live ist.

OperationError DOMException

Wird ausgelöst, wenn der Vorgang aus irgendeinem Grund nicht abgeschlossen werden kann.

Beispiele

Das folgende Beispiel, extrahiert aus dem Chrome Image Capture / Photo Resolution Sample, verwendet die Ergebnisse von getPhotoCapabilities(), um die Größe eines Eingabebereichs zu ändern. Dieses Beispiel zeigt auch, wie das ImageCapture-Objekt unter Verwendung eines MediaStreamTrack erstellt wird, das von einem Gerät-MediaStream](/de/docs/Web/API/MediaStream) abgerufen wurde.

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));

Spezifikationen

Specification
MediaStream Image Capture
# dom-imagecapture-getphotocapabilities

Browser-Kompatibilität

BCD tables only load in the browser