1. 開発者向けのウェブ技術
  2. Web API
  3. ImageCapture
  4. takePhoto()

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

ImageCapture: takePhoto() メソッド

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

takePhoto()ImageCapture インターフェイスのメソッドで、 MediaStreamTrack をソースとする動画キャプチャ端末を使用して単一の撮影を行い、データを格納した Blob で解決するプロミス (Promise) を返します。

構文

js
takePhoto()
takePhoto(photoSettings)

引数

photoSettings 省略可

写真を撮るためのオプションを設定するオブジェクト。利用できるオプションは以下の通りです。

fillLightMode

このキャプチャ機器のフラッシュ設定です。 "auto""off""flash" のいずれかです。

imageHeight

画像の希望の高さを整数で指定します。ブラウザーが離散的な高さしか対応していない場合は、この設定に最も近い高さの値を選択します。

imageWidth

画像の希望の幅を整数で指定します。ブラウザーが離散的な幅しか対応していない場合は、この設定に最も近い幅の値を選択します。

redEyeReduction

論理値で、赤目軽減が利用できる場合に使用するかどうかを示します。

返値

Blob で解決するプロミス (Promise) です。

例外

InvalidStateError DOMException

コンストラクターで渡した MediaStreamTrackreadyState プロパティが live でない場合に発生します。

UnknownError DOMException

何らかの理由で処理を完了できない場合に発生します。

この例は、このシンプルな画像キャプチャのデモから抜粋したものです。 takePhoto() が返す Promise を使用して、返された Blob<img> 要素にコピーする方法を示しています。簡単にするために、 ImageCapture オブジェクトをインスタンス化する方法は示していません。

js
let takePhotoButton = document.querySelector("button#takePhoto");
let canvas = document.querySelector("canvas");
takePhotoButton.onclick = takePhoto;
function takePhoto() {
 imageCapture
 .takePhoto()
 .then((blob) => {
 console.log("Took photo:", blob);
 img.classList.remove("hidden");
 img.src = URL.createObjectURL(blob);
 })
 .catch((error) => {
 console.error("takePhoto() error: ", error);
 });
}

仕様書

仕様書
MediaStream Image Capture
# dom-imagecapture-takephoto

ブラウザーの互換性

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /