Camera (카메라) Widget Control
Camera(카메라) 위젯을 스크립트에서 제어할 때 사용하는 Widget Control(Property · Method · Event) 목록입니다. 위젯 소개와 사용법은 Camera 문서를 참고하세요.
아래 예시의 cameraID는 캔버스에서 Camera 위젯에 지정한 이름(ID)입니다. 스크립트에서는 위젯ID.멤버 형태로 접근합니다.
Widget Control 요약
| Widget Control | 종류 | 시그니처 | 설명 |
|---|---|---|---|
initialize | Method | initialize() | 현재 속성에 맞는 카메라 컨트롤러를 생성·초기화 |
availableCameras | Method | availableCameras() | 사용 가능한 카메라 목록을 조회해 내부 캐시 |
setDescription | Method | setDescription(cameraName) | 지정한 이름의 카메라로 전환 |
buildPreview | Method | buildPreview() | 실시간 미리보기 위젯을 반환 |
pausePreview | Method | pausePreview() | 미리보기를 일시정지 |
resumePreview | Method | resumePreview() | 일시정지한 미리보기를 재개 |
takePicture | Method | takePicture() | 사진 한 장을 촬영 |
startImageStream | Method | startImageStream() | 프리뷰 프레임 스트리밍을 시작 |
stopImageStream | Method | stopImageStream() | 프레임 스트리밍을 정지 |
supportsImageStreaming | Method | supportsImageStreaming() | 이미지 스트리밍 지원 여부를 반환 |
prepareForVideoRecording | Method | prepareForVideoRecording() | 영상 녹화를 준비(iOS 전용) |
startVideoRecording | Method | startVideoRecording() | 영상 녹화를 시작 |
stopVideoRecording | Method | stopVideoRecording() | 영상 녹화를 정지 |
pauseVideoRecording | Method | pauseVideoRecording() | 영상 녹화를 일시정지 |
resumeVideoRecording | Method | resumeVideoRecording() | 일시정지한 녹화를 재개 |
setZoomLevel | Method | setZoomLevel(zoom) | 줌 배율을 설정 |
setFlashMode | Method | setFlashMode(mode) | 플래시 모드를 설정 |
setExposureMode | Method | setExposureMode(mode) | 노출 모드를 설정 |
setExposurePoint | Method | setExposurePoint(point) | 노출 측광 지점을 설정 |
getMaxZoomLevel | Method | getMaxZoomLevel() | 최대 줌 배율을 조회 (현재 버전 미지원) |
getMinZoomLevel | Method | getMinZoomLevel() | 최소 줌 배율을 조회 (현재 버전 미지원) |
getMinExposureOffset | Method | getMinExposureOffset() | 최소 노출 보정값(EV)을 조회 (현재 버전 미지원) |
getMaxExposureOffset | Method | getMaxExposureOffset() | 최대 노출 보정값(EV)을 조회 (현재 버전 미지원) |
getExposureOffsetStepSize | Method | getExposureOffsetStepSize() | 노출 보정 단계 크기를 조회 (현재 버전 미지원) |
setExposureOffset | Method | setExposureOffset(offset) | 노출 보정값(EV)을 설정 |
setFocusMode | Method | setFocusMode(mode) | 초점 모드를 설정 |
setFocusPoint | Method | setFocusPoint(point) | 초점 지점을 설정 |
lockCaptureOrientation | Method | lockCaptureOrientation(orientation?) | 촬영 방향을 고정 |
unlockCaptureOrientation | Method | unlockCaptureOrientation() | 촬영 방향 잠금을 해제 |
saveFileToGallery | Method | saveFileToGallery(filePath, name, isReturnPathOfIOS) | 기존 파일을 기기 갤러리에 저장 |
saveImageBase64ToGallery | Method | saveImageBase64ToGallery(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)을 사용할 수 있습니다. 공통 레퍼런스 문서(작성 예정)를 참고하세요.