ImageCapture: getPhotoSettings()-Methode

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

Die getPhotoSettings()-Methode des ImageCapture-Interfaces gibt ein Promise zurück, das mit einem Objekt aufgelöst wird, das die aktuellen Fotoeinstellungen enthält.

Syntax

js
getPhotoSettings()

Parameter

Keine.

Rückgabewert

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

fillLightMode

Die Blitzeinstellung des Aufnahmengeräts, eine von "auto", "off" oder "flash".

imageHeight

Die gewünschte Bildhöhe als Ganzzahl. Der Browser wählt den nächstgelegenen Höhenwert zu dieser Einstellung, wenn er nur diskrete Höhen unterstützt.

imageWidth

Die gewünschte Bildbreite als Ganzzahl. Der Browser wählt den nächstgelegenen Breitenwert zu dieser Einstellung, wenn er nur diskrete Breiten unterstützt.

redEyeReduction

Ein boolescher Wert, der angibt, ob die Rote-Augen-Reduktion verwendet werden soll, wenn sie verfügbar ist.

Ausnahmen

InvalidStateError DOMException

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

OperationError DOMException

Wird ausgelöst, wenn die Operation aus irgendeinem Grund nicht abgeschlossen werden kann.

Beispiele

Das folgende Beispiel, entnommen aus Chromes Image Capture / Photo Resolution Sample, verwendet die Ergebnisse von getPhotoSettings(), um die Größe eines Eingabebereichs zu ändern. Dieses Beispiel zeigt auch, wie das ImageCapture-Objekt mithilfe eines MediaStreamTrack erstellt wird, das von einem Gerät's MediaStream abgerufen wird.

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-getphotosettings

Browser-Kompatibilität

BCD tables only load in the browser