--- title: PhotoCapabilities slug: Web/API/PhotoCapabilities tags: - API - Experimental - Interface - MediaStream Image Capture API - PhotoCapabilities - Reference translation_of: Web/API/PhotoCapabilities ---
{{APIRef("MediaStream Image")}}

MediaStream Image Capture APIPhotoCapabilities 인터페이스는 장착된 촬영 장치에서 사용 가능한 설정 옵션을 제공합니다. PhotoCapabilities 객체는 {{domxref("ImageCapture.getPhotoCapabilities()")}}를 사용해 가져올 수 있습니다..

속성

{{domxref("PhotoCapabilities.redEyeReduction")}} {{readonlyinline}}
장치의 적목 현상 감소 기능 적용 여부를 나타내는 열거형 값을 반환합니다. 가능한 값은 "never", "always", "controllable"로, "controllable"이어야 설정 가능합니다.
{{domxref("PhotoCapabilities.imageHeight")}} {{readonlyinline}}
{{glossary("user agent", "사용자 에이전트")}}가 지원하는 이미지 높이를 나타내는 {{domxref("MediaSettingsRange")}} 객체를 반환합니다.
{{domxref("PhotoCapabilities.imageWidth")}} {{readonlyinline}}
{{glossary("user agent", "사용자 에이전트")}}가 지원하는 이미지 너비를 나타내는 {{domxref("MediaSettingsRange")}} 객체를 반환합니다.
{{domxref("PhotoCapabilities.fillLightMode")}} {{readonlyinline}}
사용 가능한 플래시 옵션을 담은 배열을 반환합니다. 가능한 값은 auto, off, flash입니다.

예제

다음 예제는 Chrome의 Image Capture / Photo Resolution Sample에서 가져온 코드로, {{domxref("ImageCapture.getPhotoCapabilities", "getPhotoCapabilities()")}}를 사용해 범위 입력 칸의 크기를 수정합니다. 또한 장치의 {{domxref("MediaStream")}}에서 가져온 {{domxref("MediaStreamTrack")}} 객체를 사용해 {{domxref("ImageCapture")}} 객체를 생성하는 부분도 포함하고 있습니다.

const input = document.querySelector('input[type="range"]');

var 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.log('Argh!', error.name || error));

명세

Specification Status Comment
{{SpecName('MediaStream Image','#photocapabilities-section','PotoCapabilities')}} {{Spec2('MediaStream Image')}} Initial definition.

브라우저 호환성

{{Compat("api.PhotoCapabilities")}}