This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The getPhotoSettings()
property of the ImageCapture
interface returns a Promise
that resolves with a PhotoSettings
object containing the current photo configuration settings.
var promise = ImageCapture.getPhotoSettings()
None.
A Promise
that resolves with a PhotoSettings
object containing the following properties:
fillLightMode
: The flash setting of the capture device, one of "auto"
, "off"
, or "on"
.imageHeight
: The desired image height as an integer. The user agent selects the closest width value to this setting if it only supports discrete heights.imageWidth
: The desired image width as an integer. The user agent 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.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"]'); 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));
Specification | Status | Comment |
---|---|---|
MediaStream Image Capture The definition of 'getPhotoSettings()' in that specification. | Working Draft | Initial definition. |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | 61 | ? | ? | ? | 46 | ? |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | 61 | 61 | ? | ? | 46 | ? | ? |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ImageCapture/getPhotoSettings