목차

Camera

설명

제약사항

Android

cameraOptions

iOS

camera.getPicture
cameraOptions

환경 설정

Android

<plugin name="Camera" value="org.apache.cordova.CameraLauncher" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

iOS

<key>Plugins</key>
    <feature name="Camera">
        <param name="ios-package" value="CDVCamera"/>
    </feature>

관련 함수

camera.getPicture

navigator.camera.getPicture( cameraSuccess, cameraError, [ cameraOptions ] );
navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
    destinationType: Camera.DestinationType.DATA_URL
 }); 

function onSuccess(imageData) {
    var image = document.getElementById('myImage');
    image.src = "data:image/jpeg;base64," + imageData;
}

function onFail(message) {
    alert('Failed because: ' + message);
}
navigator.camera.getPicture(onSuccess, onFail, { quality: 50, 
    destinationType: Camera.DestinationType.FILE_URI }); 

function onSuccess(imageURI) {
    var image = document.getElementById('myImage');
    image.src = imageURI;
}

function onFail(message) {
    alert('Failed because: ' + message);
}

camera.cleanup

navigator.camera.cleanup( cameraSuccess, cameraError );

파라미터

cameraSuccess

function(imageData) {
    // Do something with the image
}

cameraError

function(message) {
    // Show a helpful message
}

cameraOptions

{ quality : 75, 
  destinationType : Camera.DestinationType.DATA_URL, 
  sourceType : Camera.PictureSourceType.CAMERA, 
  allowEdit : true,
  encodingType: Camera.EncodingType.JPEG,
  targetWidth: 100,
  targetHeight: 100,
  popoverOptions: CameraPopoverOptions,
  saveToPhotoAlbum: false };
유형설명타입비고
quality이미지의 품질(해상도)를 백분율로 정의한다.Number값 : 0 ~ 100
destinationType이미지의 포맷을 정의한다.Number0 : DATA_URL, 1 : FILE_URI
sourceType포토 라이브러리, 카메라에서 찍은 사진 등 선택할 소스를 설정한다.NumberPHOTOLIBRARY : 0, CAMERA : 1,SAVEDPHOTOALBUM : 2
allowEdit이미지 선택 전, 이미지 편집 여부.Boolean
encodingType이미지 파일의 인코딩 종류를 정의한다.NumberJPEG : 0, PNG : 1
targetWidth이미지의 너비(pixel)를 설정한다.Number비율은 고정.
targetHeight이미지의 높이(pixel)를 설정한다.Number비율은 고정.
mediaTypepictureSourceType이 PHOTOLIBRARY 또는 SAVEDPHOTOALBUM일 때, 미디어의 타입을 설정한다.Number
correctOrientation이미지를 담는동안 이미지 회전 여부.boolean
saveToPhotoAlbum이미지를 담은 후, 단말기 저장 여부.boolean
popoverOptionsiPad에서의 popover 옵션CameraPopoverOptions
 Camera.DestinationType = {
        DATA_URL : 0,                // Return image as base64 encoded string
        FILE_URI : 1                 // Return image file URI
    };
Camera.PictureSourceType = {
    PHOTOLIBRARY : 0,
    CAMERA : 1,
    SAVEDPHOTOALBUM : 2
};
 Camera.EncodingType = {
        JPEG : 0,               // Return JPEG encoded image
        PNG : 1                 // Return PNG encoded image
    };
Camera.MediaType = { 
    PICTURE: 0,             // allow selection of still pictures only. DEFAULT. Will return format specified via DestinationType
    VIDEO: 1,               // allow selection of video only, WILL ALWAYS RETURN FILE_URI
    ALLMEDIA : 2            // allow selection from all media types
};

cameraOptions

{ x : 0, 
  y :  32,
  width : 320,
  height : 480,
  arrowDir : Camera.PopoverArrowDirection.ARROW_ANY
};
유형설명타입비고
x화면에서 popover되는 위치의 pixel 단위 x축.Number
y화면에서 popover되는 위치의 pixel 단위 y축.Number
width화면에서 popover되는 요소에 대한 pixel 단위의 너비 값.Number
height화면에서 popover되는 요소에 대한 pixel 단위의 높이 값.Number
arrowDirpopover 되는 방향.Camera.PopoverArrowDirection
Camera.PopoverArrowDirection = {
        ARROW_UP : 1,        // matches iOS UIPopoverArrowDirection constants
        ARROW_DOWN : 2,
        ARROW_LEFT : 4,
        ARROW_RIGHT : 8,
        ARROW_ANY : 15
    };

참고 자료