ImageCapture.getPhotoCapabilities()
The getPhotoCapabilities()
method of the ImageCapture interface returns a Promise
that resolves with a PhotoCapabilities object containing the ranges of
available configuration options.
Syntax
const capabilitiesPromise = imageCaptureObj.getPhotoCapabilities()
Return value
A Promise that resolves with an object containing the following properties:
redEyeReduction-
Returns one of
"never","always", or"controllable". The"controllable"value means the device's red-eye reduction is controllable by the user. imageHeight-
Returns an object indicating the image height range supported by the user agent.
imageWidth-
Returns an object indicating the image width range supported by the user agent.
fillLightMode-
Returns an array of available fill light options. Options include
auto,off, orflash.
Example
The following example, extracted from Chrome's
Image Capture / Photo Resolution Sample, uses the results from
getPhotoCapabilities() 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"]');
var 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.log('Argh!', error.name || error));
Specifications
| Specification |
|---|
| MediaStream Image Capture # dom-imagecapture-getphotocapabilities |
Browser compatibility
BCD tables only load in the browser