본문으로 건너뛰기

Camera (카메라) Widget Control

Camera(카메라) 위젯을 스크립트에서 제어할 때 사용하는 Widget Control(Property · Method · Event) 목록입니다. 위젯 소개와 사용법은 Camera 문서를 참고하세요.

정보

아래 예시의 cameraID는 캔버스에서 Camera 위젯에 지정한 이름(ID)입니다. 스크립트에서는 위젯ID.멤버 형태로 접근합니다.

Widget Control 요약

Widget Control종류시그니처설명
initializeMethodinitialize()현재 속성에 맞는 카메라 컨트롤러를 생성·초기화
availableCamerasMethodavailableCameras()사용 가능한 카메라 목록을 조회해 내부 캐시
setDescriptionMethodsetDescription(cameraName)지정한 이름의 카메라로 전환
buildPreviewMethodbuildPreview()실시간 미리보기 위젯을 반환
pausePreviewMethodpausePreview()미리보기를 일시정지
resumePreviewMethodresumePreview()일시정지한 미리보기를 재개
takePictureMethodtakePicture()사진 한 장을 촬영
startImageStreamMethodstartImageStream()프리뷰 프레임 스트리밍을 시작
stopImageStreamMethodstopImageStream()프레임 스트리밍을 정지
supportsImageStreamingMethodsupportsImageStreaming()이미지 스트리밍 지원 여부를 반환
prepareForVideoRecordingMethodprepareForVideoRecording()영상 녹화를 준비(iOS 전용)
startVideoRecordingMethodstartVideoRecording()영상 녹화를 시작
stopVideoRecordingMethodstopVideoRecording()영상 녹화를 정지
pauseVideoRecordingMethodpauseVideoRecording()영상 녹화를 일시정지
resumeVideoRecordingMethodresumeVideoRecording()일시정지한 녹화를 재개
setZoomLevelMethodsetZoomLevel(zoom)줌 배율을 설정
setFlashModeMethodsetFlashMode(mode)플래시 모드를 설정
setExposureModeMethodsetExposureMode(mode)노출 모드를 설정
setExposurePointMethodsetExposurePoint(point)노출 측광 지점을 설정
getMaxZoomLevelMethodgetMaxZoomLevel()최대 줌 배율을 조회 (현재 버전 미지원)
getMinZoomLevelMethodgetMinZoomLevel()최소 줌 배율을 조회 (현재 버전 미지원)
getMinExposureOffsetMethodgetMinExposureOffset()최소 노출 보정값(EV)을 조회 (현재 버전 미지원)
getMaxExposureOffsetMethodgetMaxExposureOffset()최대 노출 보정값(EV)을 조회 (현재 버전 미지원)
getExposureOffsetStepSizeMethodgetExposureOffsetStepSize()노출 보정 단계 크기를 조회 (현재 버전 미지원)
setExposureOffsetMethodsetExposureOffset(offset)노출 보정값(EV)을 설정
setFocusModeMethodsetFocusMode(mode)초점 모드를 설정
setFocusPointMethodsetFocusPoint(point)초점 지점을 설정
lockCaptureOrientationMethodlockCaptureOrientation(orientation?)촬영 방향을 고정
unlockCaptureOrientationMethodunlockCaptureOrientation()촬영 방향 잠금을 해제
saveFileToGalleryMethodsaveFileToGallery(filePath, name, isReturnPathOfIOS)기존 파일을 기기 갤러리에 저장
saveImageBase64ToGalleryMethodsaveImageBase64ToGallery(base64Image, quality, name, isReturnImagePathOfIOS)base64 이미지를 갤러리에 저장

Property

정보

해당 없음 - Camera 위젯에는 스크립트 전용 Property가 없습니다. 스크립트에서는 아래 공통 Widget Control(getProperty / setProperty)로 값을 읽고 씁니다.

Method

initialize

현재 속성(렌즈 방향·해상도·오디오·플래시)에 맞는 카메라 컨트롤러를 생성하고 초기화하여 미리보기를 시작합니다.

  • Parameters: 없음
  • Returns: 없음

Example

cameraID.initialize();

availableCameras

기기에서 사용 가능한 카메라 목록을 조회해 내부에 캐시합니다. 이후 setDescription이 이 목록을 사용합니다.

  • Parameters: 없음
  • Returns: 없음

Example

cameraID.availableCameras();

setDescription

지정한 이름의 카메라로 전환합니다. 일치하는 카메라가 없으면 사용 가능한 첫 번째 카메라로 대체합니다.

  • Parameters: cameraName - 문자열. availableCameras가 보고하는 플랫폼 카메라 이름
  • Returns: 없음

Example

cameraID.setDescription("0");

buildPreview

실시간 카메라 미리보기 위젯을 반환합니다. 컨트롤러가 준비되지 않았으면 빈 위젯을 반환합니다.

  • Parameters: 없음
  • Returns: Widget(위젯)

Example

cameraID.buildPreview();

pausePreview

컨트롤러는 초기화 상태로 둔 채 실시간 미리보기만 일시정지합니다.

  • Parameters: 없음
  • Returns: 없음

Example

cameraID.pausePreview();

resumePreview

pausePreview로 멈춘 미리보기를 다시 재개합니다.

  • Parameters: 없음
  • Returns: 없음

Example

cameraID.resumePreview();

takePicture

현재 카메라로 사진 한 장을 촬영합니다.

  • Parameters: 없음
  • Returns: 없음

Example

cameraID.takePicture();

startImageStream

카메라 프리뷰 프레임 스트리밍을 시작합니다. 이미지 스트림을 지원하는 구성에서만 동작합니다(supportsImageStreaming 참고).

  • Parameters: 없음
  • Returns: 없음

Example

cameraID.startImageStream();

stopImageStream

startImageStream으로 시작한 프레임 스트림을 정지합니다.

  • Parameters: 없음
  • Returns: 없음

Example

cameraID.stopImageStream();

supportsImageStreaming

현재 카메라 구성이 이미지 스트리밍을 지원하는지 여부를 반환합니다. 초기화되지 않았으면 false를 반환합니다.

  • Parameters: 없음
  • Returns: bool(참/거짓)

Example

cameraID.supportsImageStreaming();

prepareForVideoRecording

startVideoRecording 호출의 지연을 줄이기 위해 영상 녹화를 미리 준비합니다. iOS 전용이며 다른 플랫폼에서는 아무 동작도 하지 않습니다.

  • Parameters: 없음
  • Returns: 없음

Example

cameraID.prepareForVideoRecording();

startVideoRecording

현재 카메라로 영상 녹화를 시작합니다.

  • Parameters: 없음
  • Returns: 없음

Example

cameraID.startVideoRecording();

stopVideoRecording

진행 중인 영상 녹화를 정지합니다.

  • Parameters: 없음
  • Returns: 없음

Example

cameraID.stopVideoRecording();

pauseVideoRecording

진행 중인 영상 녹화를 일시정지합니다.

  • Parameters: 없음
  • Returns: 없음

Example

cameraID.pauseVideoRecording();

resumeVideoRecording

pauseVideoRecording으로 멈춘 영상 녹화를 재개합니다.

  • Parameters: 없음
  • Returns: 없음

Example

cameraID.resumeVideoRecording();

setZoomLevel

카메라 줌 배율을 설정합니다.

  • Parameters: zoom - 숫자. 기기의 최소~최대 줌 배율 사이 값
  • Returns: 없음

Example

cameraID.setZoomLevel(2.0);

setFlashMode

현재 카메라의 플래시 모드를 설정합니다.

  • Parameters: mode - 문자열. "off", "auto", "always", "torch" 중 하나(대소문자 무시). 알 수 없는 값은 "off"로 처리
  • Returns: 없음

Example

cameraID.setFlashMode("torch");

setExposureMode

현재 카메라의 노출 모드를 설정합니다.

  • Parameters: mode - 문자열. "auto" 또는 "locked"(대소문자 무시). 알 수 없는 값은 "auto"로 처리
  • Returns: 없음

Example

cameraID.setExposureMode("locked");

setExposurePoint

카메라가 노출을 측광하는 지점을 설정합니다. null(또는 비어 있거나 형식이 잘못된 문자열)을 넘기면 기본 중앙 측광으로 리셋됩니다.

  • Parameters: point - 문자열. "dx,dy" 형식의 정규화 좌표(0.0~1.0), 예: 중앙은 "0.5,0.5"
  • Returns: 없음

Example

cameraID.setExposurePoint("0.5,0.5");

getMaxZoomLevel

현재 카메라가 지원하는 최대 줌 배율을 조회합니다.

경고

현재 버전에서는 제공되지 않습니다(추후 업데이트 예정). 스크립트 자동완성 목록에는 노출되지만, 값을 반환하지 않아 결과를 받을 수 없습니다.

  • Parameters: 없음
  • Returns: 없음 (현재 버전 미지원)

Example

cameraID.getMaxZoomLevel();

getMinZoomLevel

현재 카메라가 지원하는 최소 줌 배율을 조회합니다.

경고

현재 버전에서는 제공되지 않습니다(추후 업데이트 예정). 스크립트 자동완성 목록에는 노출되지만, 값을 반환하지 않아 결과를 받을 수 없습니다.

  • Parameters: 없음
  • Returns: 없음 (현재 버전 미지원)

Example

cameraID.getMinZoomLevel();

getMinExposureOffset

현재 카메라가 지원하는 최소 노출 보정값(EV)을 조회합니다.

경고

현재 버전에서는 제공되지 않습니다(추후 업데이트 예정). 스크립트 자동완성 목록에는 노출되지만, 값을 반환하지 않아 결과를 받을 수 없습니다.

  • Parameters: 없음
  • Returns: 없음 (현재 버전 미지원)

Example

cameraID.getMinExposureOffset();

getMaxExposureOffset

현재 카메라가 지원하는 최대 노출 보정값(EV)을 조회합니다.

경고

현재 버전에서는 제공되지 않습니다(추후 업데이트 예정). 스크립트 자동완성 목록에는 노출되지만, 값을 반환하지 않아 결과를 받을 수 없습니다.

  • Parameters: 없음
  • Returns: 없음 (현재 버전 미지원)

Example

cameraID.getMaxExposureOffset();

getExposureOffsetStepSize

노출 보정값을 바꿀 수 있는 최소 단계 크기를 조회합니다.

경고

현재 버전에서는 제공되지 않습니다(추후 업데이트 예정). 스크립트 자동완성 목록에는 노출되지만, 값을 반환하지 않아 결과를 받을 수 없습니다.

  • Parameters: 없음
  • Returns: 없음 (현재 버전 미지원)

Example

cameraID.getExposureOffsetStepSize();

setExposureOffset

노출 보정값(EV)을 설정합니다.

  • Parameters: offset - 숫자. EV 단위, 기기의 최소/최대 노출 범위 내
  • Returns: 없음

Example

cameraID.setExposureOffset(0.5);

setFocusMode

현재 카메라의 초점 모드를 설정합니다.

  • Parameters: mode - 문자열. "auto" 또는 "locked"(대소문자 무시). 알 수 없는 값은 "auto"로 처리
  • Returns: 없음

Example

cameraID.setFocusMode("locked");

setFocusPoint

카메라가 초점을 맞추는 지점을 설정합니다. null(또는 비어 있거나 형식이 잘못된 문자열)을 넘기면 기본 중앙 초점으로 리셋됩니다.

  • Parameters: point - 문자열. "dx,dy" 형식의 정규화 좌표(0.0~1.0), 예: 중앙은 "0.5,0.5"
  • Returns: 없음

Example

cameraID.setFocusPoint("0.5,0.5");

lockCaptureOrientation

촬영 방향을 고정해 기기를 회전해도 촬영물이 일정한 방향을 유지하게 합니다. orientation을 생략하거나 인식할 수 없는 값을 넘기면 현재 기기 방향으로 고정합니다.

  • Parameters: orientation(선택) - 문자열. "portraitUp", "portraitDown", "landscapeLeft", "landscapeRight"("portrait_up" 형태 이름도 허용)
  • Returns: 없음

Example

cameraID.lockCaptureOrientation("portraitUp");

unlockCaptureOrientation

lockCaptureOrientation으로 건 촬영 방향 잠금을 해제해 촬영물이 다시 기기 방향을 따르게 합니다.

  • Parameters: 없음
  • Returns: 없음

Example

cameraID.unlockCaptureOrientation();

saveFileToGallery

이미 존재하는 파일(사진)을 네이티브 플랫폼 채널을 통해 기기 갤러리에 저장합니다.

  • Parameters:
    • filePath - 문자열. 저장할 파일 경로
    • name - 문자열 또는 null. 저장 항목의 표시 이름(선택)
    • isReturnPathOfIOS - 참/거짓. iOS에서 저장된 자산 경로 반환을 요청
  • Returns: 없음

Example

cameraID.saveFileToGallery("/path/to/photo.jpg", "MyPhoto", false);

saveImageBase64ToGallery

base64로 인코딩된 이미지를 디코드해 임시 PNG 파일로 쓴 뒤, 그 파일을 네이티브 채널을 통해 기기 갤러리에 저장합니다.

  • Parameters:
    • base64Image - 문자열. base64로 인코딩된 이미지 바이트
    • quality - 숫자. 인코딩 품질 힌트(0~100)
    • name - 문자열 또는 null. 저장 파일/표시 이름(선택)
    • isReturnImagePathOfIOS - 참/거짓. iOS에서 저장된 자산 경로 반환을 요청
  • Returns: 없음

Example

cameraID.saveImageBase64ToGallery("iVBORw0KGgoAAAANSUhEUgAA...", 90, "MyImage", false);

Event

정보

해당 없음 - Camera 위젯에는 전용 Event가 없습니다.

공통 Widget Control (모든 위젯)

노트

모든 위젯은 setProperty / getProperty / setStyleProperty 같은 이름 기반 공통 Widget Control(Method)을 사용할 수 있습니다. 공통 레퍼런스 문서(작성 예정)를 참고하세요.