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