본문으로 건너뛰기

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)을 사용할 수 있습니다. 공통 레퍼런스 문서(작성 예정)를 참고하세요.