ImageCapture: метод getPhotoCapabilities()
Экспериментально: Это экспериментальная технология
Перед использованием в продукте внимательно изучите таблицу совместимости браузеров.
Метод getPhotoCapabilities() интерфейса ImageCapture возвращает Promise, который разрешается объектом, содержащим диапазоны доступных параметров конфигурации.
Синтаксис
getPhotoCapabilities()
Параметры
Нет.
Возвращаемое значение
A Promise, который разрешается объектом, содержащим следующие свойства:
redEyeReduction-
Возвращает одно из значений
"never","always", или"controllable". Значение"controllable"означает, что пользователь может контролировать функцию уменьшения эффекта красных глаз устройства. imageHeight-
Возвращает объект, указывающий диапазон высот изображений, поддерживаемых пользовательским агентом.
imageWidth-
Возвращает объект, указывающий диапазон ширин изображений, поддерживаемых пользовательским агентом.
fillLightMode-
Возвращает массив доступных вариантов заполняющей вспышки. К вариантам относятся
auto,off, илиflash.
Исключения
-
InvalidStateErrorDOMException -
Выбрасывается, если свойство
readyStateобъектаMediaStreamTrack, переданного в конструктор, не равноlive. -
OperationErrorDOMException -
Выбрасывается, если операция не может быть завершена по какой-либо причине.
Примеры
В приведенном ниже примере, взятом из примера Chrome Image Capture / Photo Resolution, результаты getPhotoCapabilities() используются для изменения размера диапазона входных значений. Пример также демонстрирует, как объект ImageCapture создается с использованием объекта MediaStreamTrack, полученного от 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));
Спецификации
Совместимость браузеров
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
getPhotoCapabilities |
59 | 79 | Нет | 46 | 17.4 | 59 | Нет | 43 | 17.4 | 7.0 | 59 |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ImageCapture/getPhotoCapabilities