ImageCapture: getPhotoSettings() method
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The getPhotoSettings() method of
the ImageCapture interface returns a Promise that
resolves with an object containing the current photo
configuration settings.
Syntax
getPhotoSettings()
Parameters
None.
Return value
A Promise that resolves with an object containing the following properties:
fillLightMode-
The flash setting of the capture device, one of
"auto","off", or"flash". imageHeight-
The desired image height as an integer. The browser selects the closest width value to this setting if it only supports discrete heights.
imageWidth-
The desired image width as an integer. The browser selects the closest width value to this setting if it only supports discrete widths.
redEyeReduction-
A boolean indicating whether the red-eye reduction should be used if it is available.
Exceptions
InvalidStateErrorDOMException-
Thrown if
readyStateproperty of theMediaStreamTrackpassing in the constructor is notlive. OperationErrorDOMException-
Thrown if the operation can't complete for any reason.
Examples
The following example, extracted from Chrome's Image Capture / Photo Resolution Sample, uses the results from
getPhotoSettings() to modify the size of an input range. This example also
shows how the ImageCapture object is created using a
MediaStreamTrack retrieved from a device's MediaStream.
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));
Specifications
| Specification |
|---|
| MediaStream Image Capture # dom-imagecapture-getphotosettings |
Browser compatibility
BCD tables only load in the browser