--- title: ImageCapture.takePhoto() slug: Web/API/ImageCapture/takePhoto tags: - API - Experimental - ImageCapture - MediaStream Image Capture - Method - Reference translation_of: Web/API/ImageCapture/takePhoto ---
{{APIRef("MediaStream Image")}}

{{domxref("ImageCapture")}} 인터페이스의 takePhoto() 메서드는 {{domxref("MediaStreamTrack")}}을 제공하는 비디오 캡처 장치를 사용해 단일 노출 촬영을 하고, 그 데이터를 담은 {{domxref("Blob")}}으로 이행하는 {{jsxref("Promise")}}를 반환합니다.

구문

const blobPromise = imageCaptureObj.takePhoto([photoSettings])

매개변수

photoSettings {{optional_inline}}
사진을 촬영할 때 사용할 옵션을 나타내는 객체. 가능한 옵션은 다음과 같습니다.

반환 값

{{domxref("Blob")}}으로 이행하는 {{jsxref("Promise")}}.

예제

다음 코드는 Simple Image Capture 데모에서 가져온 것으로, takePhoto()가 반환한 {{jsxref("Promise")}}의 {{domxref("Blob")}}을 사용해 {{htmlelement("img")}} 요소에 할당하는 방법을 보입니다. 코드를 짧게 유지하기 위해 {{domxref("ImageCapture")}} 객체의 초기화 과정은 생략했습니다.

var takePhotoButton = document.querySelector('button#takePhoto');
var canvas = document.querySelector('canvas');

takePhotoButton.onclick = takePhoto;

function takePhoto() {
  imageCapture.takePhoto().then(function(blob) {
    console.log('Took photo:', blob);
    img.classList.remove('hidden');
    img.src = URL.createObjectURL(blob);
  }).catch(function(error) {
    console.log('takePhoto() error: ', error);
  });
}

명세

Specification Status Comment
{{SpecName('MediaStream Image','#dom-imagecapture-takephoto','takePhoto()')}} {{Spec2('MediaStream Image')}} Initial definition.

브라우저 호환성

{{Compat("api.ImageCapture.takePhoto")}}