ImageCapture: getPhotoSettings() メソッド
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
getPhotoSettings()
は ImageCapture
インターフェイスのメソッドで、現在の写真設定値を格納したオブジェクトで解決される Promise
を返します。
構文
getPhotoSettings()
引数
なし。
返値
以下のプロパティを持つオブジェクトに解決するプロミス (Promise
) です。
fillLightMode
-
このキャプチャ機器のフラッシュ設定です。
auto
、off
、flash
のいずれかです。 imageHeight
-
画像の希望の高さを整数で指定します。ブラウザーが離散的な高さしか対応していない場合は、この設定に最も近い高さの値を選択します。
imageWidth
-
画像の希望の幅を整数で指定します。ブラウザーが離散的な幅しか対応していない場合は、この設定に最も近い幅の値を選択します。
redEyeReduction
-
論理値で、赤目軽減が利用できる場合に使用するかどうかを示します。
例外
InvalidStateError
DOMException
-
コンストラクターで渡した
MediaStreamTrack
のreadyState
プロパティがlive
でない場合に発生します。 OperationError
DOMException
-
何らかの理由で処理を完了できない場合に発生します。
例
次の例は Chrome の画像キャプチャ / 写真解像度サンプルから抜粋したもので、 getPhotoSettings()
の結果を使用して入力範囲のサイズを変更しています。この例では、端末の MediaStream
から取得した MediaStreamTrack
を使用して ImageCapture
オブジェクトを作成する様子も示しています。
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));
仕様書
Specification |
---|
MediaStream Image Capture # dom-imagecapture-getphotosettings |
ブラウザーの互換性
BCD tables only load in the browser