This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The getPhotoCapabilities()
method of the ImageCapture
interface returns a Promise
that resolves with a PhotoCapabilities
object containing the ranges of available configuration options.
Syntax
var promise = ImageCapture.getPhotoCapabilities()
Parameters
None.
Return value
A Promise
that resolves with a PhotoCapabilities
object.
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 | Status | Comment |
---|---|---|
MediaStream Image Capture The definition of 'getPhotoCapabilities()' in that specification. |
Working Draft | Initial definition. |
Browser Compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 59 | ? | ? | 46 | ? |
Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | 59 | 59 | ? | ? | ? | 46 | ? |