이 플러그인 시스템의 이미지 라이브러리에서 이미지를 선택 및 사진 촬영을 위한 API를 제공 하는 글로벌 navigator.camera
개체를 정의 합니다.
개체 navigator
글로벌 범위 첨부 아니에요 때까지 사용할 수 있는 deviceready
이벤트 후.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(navigator.camera);
}
cordova plugin add cordova-plugin-camera
카메라를 사용 하 여 사진을 걸립니다 또는 소자의 이미지 갤러리에서 사진을 검색 합니다. 이미지는 성공 콜백에 전달 base64 인코딩된 문자열
또는 URI로 이미지 파일에 대 한. 방법 자체는 파일 선택 popover 위치를 사용할 수 있는 CameraPopoverHandle
개체를 반환 합니다.
navigator.camera.getPicture( cameraSuccess, cameraError, cameraOptions );
Camera.getPicture
함수 스냅 사진을 사용자가 소자의 기본 카메라 응용 프로그램을 엽니다. 이 문제는 Camera.sourceType
Camera.PictureSourceType.CAMERA
경우 기본적으로 발생 합니다. 일단 사용자 스냅 사진, 카메라 응용 프로그램 종료 하 고 응용 프로그램 복원 됩니다.
Camera.sourceType
은 Camera.PictureSourceType.PHOTOLIBRARY
또는 Camera.PictureSourceType.SAVEDPHOTOALBUM
, 대화 상자가 사용자가 기존 이미지를 선택할 수 있도록 표시 됩니다. camera.getPicture
함수는 장치 방향 변경 될 때 이미지 선택 대화 상자, 예를 들어, 위치를 변경 하려면 사용할 수 있는 CameraPopoverHandle
개체를 반환 합니다.
반환 값은 cameraSuccess
콜백 함수 지정된 cameraOptions
에 따라 다음 형식 중 하나에 전송 됩니다.
A String
base64 인코딩된 사진 이미지를 포함 합니다.
A String
로컬 저장소 (기본값)의 이미지 파일 위치를 나타내는.
할 수 있는 당신이 원하는대로 인코딩된 이미지 또는 URI, 예를 들면:
렌더링 이미지는 <img>
아래 예제와 같이 태그
로컬로 데이터를 저장 ( LocalStorage
, Lawnchair, 등.)
원격 서버에 데이터 게시
참고: 더 새로운 장치에 사진 해상도 아주 좋은. 소자의 갤러리에서 선택 된 사진 품질
매개 변수를 지정 하는 경우에 낮은 품질에 관하여 하지는. 일반적인 메모리 문제를 피하기 위해 DATA_URL
보다 FILE_URI
Camera.destinationType
설정.
CameraUsesGeolocation (boolean, 기본값: false)입니다. 캡처 Jpeg, EXIF 헤더에 지리적 데이터를 true로 설정 합니다. 이 경우 위치 정보 사용 권한에 대 한 요청을 일으킬 것 이다 true로 설정 합니다.
<preference name="CameraUsesGeolocation" value="false" />
아마존 화재 OS 의도 사용 하 여 이미지 캡처 장치에서 카메라 활동을 시작 하 고 낮은 메모리와 휴대 전화에 코르 도우 바 활동 살해 수 있습니다. 코르도바 활동 복원 되 면이 시나리오에서는 이미지가 나타나지 않을 수 있습니다.
안 드 로이드 의도 사용 하 여 이미지 캡처 장치에서 카메라 활동을 시작 하 고 낮은 메모리와 휴대 전화에 코르 도우 바 활동 살해 수 있습니다. 코르도바 활동 복원 되 면이 시나리오에서는 이미지가 나타나지 않을 수 있습니다.
수 base64 인코딩 이미지로 사진을 반환 합니다.
카메라 플러그인은 현재 웹 활동를 사용 하 여 구현.
자바 alert()
를 포함 하 여 콜백 함수 중 하나에 문제가 발생할 수 있습니다. 포장 허용 iOS 이미지 피커 또는 popover를 완벽 하 게 경고를 표시 하기 전에 닫습니다 setTimeout()
내에서 경고:
setTimeout(function() {
// do your thing here!
}, 0);
장치 Zune 통해 연결 된 동안 네이티브 카메라 응용 프로그램을 호출 하면 작동 하지 않습니다 하 고 오류 콜백 트리거합니다.
Camera.DestinationType.FILE_URI
의 destinationType
와 Camera.PictureSourceType.PHOTOLIBRARY
의 sourceType
Tizen 지원.
촬영 및 base64 인코딩 이미지로 검색:
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);
}
카메라 설정을 사용자 지정 하는 선택적 매개 변수.
{ 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 };
품질: 범위 0-100, 100은 파일 압축에서 손실 없이 일반적으로 전체 해상도 저장된 된 이미지의 품질. 기본값은 50입니다. (수) (Note 카메라의 해상도 대 한 정보는 사용할 수 없습니다.)
destinationType: 반환 값의 형식을 선택 합니다. 기본값은 FILE_URI입니다. 에 정의 된 navigator.camera.DestinationType
(수)
Camera.DestinationType = {
DATA_URL : 0, // Return image as base64-encoded string
FILE_URI : 1, // Return image file URI
NATIVE_URI : 2 // Return image native URI (e.g., assets-library:// on iOS or content:// on Android)
};
sourceType: 그림의 소스를 설정 합니다. 기본값은 카메라입니다. 에 정의 된 navigator.camera.PictureSourceType
(수)
Camera.PictureSourceType = {
PHOTOLIBRARY : 0,
CAMERA : 1,
SAVEDPHOTOALBUM : 2
};
allowEdit: 선택 하기 전에 이미지의 간단한 편집을 허용 합니다. (부울)
encodingType: 반환 된 이미지 파일의 인코딩을 선택 합니다. 기본값은 JPEG입니다. 에 정의 된 navigator.camera.EncodingType
(수)
Camera.EncodingType = {
JPEG : 0, // Return JPEG encoded image
PNG : 1 // Return PNG encoded image
};
targetWidth: 스케일 이미지를 픽셀 너비. TargetHeight와 함께 사용 해야 합니다. 가로 세로 비율이 일정 하 게 유지 합니다. (수)
targetHeight: 스케일 이미지를 픽셀 단위로 높이. TargetWidth와 함께 사용 해야 합니다. 가로 세로 비율이 일정 하 게 유지 합니다. (수)
mediaType:에서 선택 미디어 유형을 설정 합니다. 때에 작동 PictureSourceType
는 PHOTOLIBRARY
또는 SAVEDPHOTOALBUM
. 에 정의 된 nagivator.camera.MediaType
(수)
Camera.MediaType = {
PICTURE: 0, // allow selection of still pictures only. 기본입니다. 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
};
correctOrientation: 캡처 도중 장치의 방향에 대 한 해결 하기 위해 이미지를 회전 합니다. (부울)
saveToPhotoAlbum: 캡처 후 장치에서 사진 앨범에 이미지를 저장 합니다. (부울)
popoverOptions: iPad에 popover 위치를 지정 하는 iOS 전용 옵션. 에 정의 된CameraPopoverOptions
.
cameraDirection: (앞 이나 뒤로-연결)를 사용 하 여 카메라를 선택 하십시오. 기본값은 다시. 에 정의 된 navigator.camera.Direction
(수)
Camera.Direction = {
BACK : 0, // Use the back-facing camera
FRONT : 1 // Use the front-facing camera
};
어떤 cameraDirection
다시 연결 사진에 결과 값.
무시는 allowEdit
매개 변수.
Camera.PictureSourceType.PHOTOLIBRARY
그리고 Camera.PictureSourceType.SAVEDPHOTOALBUM
둘 다 동일한 사진 앨범을 표시 합니다.
어떤 cameraDirection
다시 연결 사진에 결과 값.
무시는 allowEdit
매개 변수.
Camera.PictureSourceType.PHOTOLIBRARY
그리고 Camera.PictureSourceType.SAVEDPHOTOALBUM
둘 다 동일한 사진 앨범을 표시 합니다.
무시는 quality
매개 변수.
무시는 allowEdit
매개 변수.
Camera.MediaType
지원 되지 않습니다.
무시는 correctOrientation
매개 변수.
무시는 cameraDirection
매개 변수.
무시는 quality
매개 변수.
Camera.DestinationType
무시 되 고 1
(이미지 파일 URI)
무시는 allowEdit
매개 변수.
무시는 PictureSourceType
매개 변수 (사용자가 선택 그것 대화 창에서)
무시 하는encodingType
무시는 targetWidth
와targetHeight
Camera.MediaType
지원 되지 않습니다.
무시는 correctOrientation
매개 변수.
무시는 cameraDirection
매개 변수.
설정 quality
일부 장치 메모리 오류를 피하기 위해 50 아래.
사용 하는 경우 destinationType.FILE_URI
, 사진 응용 프로그램의 임시 디렉터리에 저장 됩니다. 응용 프로그램이 종료 될 때 응용 프로그램의 임시 디렉터리의 내용은 삭제 됩니다.
지원 되지 않는 옵션
항상 파일 URI를 반환 합니다.
무시는 allowEdit
매개 변수.
무시는 correctOrientation
매개 변수.
무시는 cameraDirection
매개 변수.
무시는 saveToPhotoAlbum
매개 변수. 중요: 모든 이미지 API wp7/8 코르도바 카메라로 촬영 항상 복사 됩니다 휴대 전화의 카메라 롤에. 사용자의 설정에 따라이 또한 그들의 OneDrive에 자동 업로드 이미지는 의미. 이 잠재적으로 이미지는 당신의 애플 리 케이 션을 위한 보다 넓은 청중에 게 사용할 수 있는 의미. 이 경우 응용 프로그램에 대 한 차단, 당신은 msdn에 설명 대로 단말기를 구현 해야 합니다: http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh394006.aspx 수 있습니다 또한 의견 또는 이슈 트래커 에서 업-투표 관련된 문제
무시는 mediaType
속성을 cameraOptions
으로 Windows Phone SDK PHOTOLIBRARY에서 비디오를 선택 하는 방법을 제공 하지 않습니다.
오류 메시지를 제공 하는 onError 콜백 함수.
function(message) {
// Show a helpful message
}
이미지 데이터를 제공 하는 onSuccess 콜백 함수.
function(imageData) {
// Do something with the image
}
cameraOptions
적용. (문자열)// Show image
//
function cameraCallback(imageData) {
var image = document.getElementById('myImage');
image.src = "data:image/jpeg;base64," + imageData;
}
navigator.camera.getPicture
에 의해 만들어진 popover 대화에 대 한 핸들.
popover의 위치를 설정 합니다.
매개 변수:
cameraPopoverOptions
:는 CameraPopoverOptions
새 위치를 지정 하는 var cameraPopoverHandle = navigator.camera.getPicture(onSuccess, onFail,
{ destinationType: Camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
popoverOptions: new CameraPopoverOptions(300, 300, 100, 100, Camera.PopoverArrowDirection.ARROW_ANY)
});
// Reposition the popover if the orientation changes.
window.onorientationchange = function() {
var cameraPopoverOptions = new CameraPopoverOptions(0, 0, 100, 100, Camera.PopoverArrowDirection.ARROW_ANY);
cameraPopoverHandle.setPosition(cameraPopoverOptions);
}
iOS 전용 매개 변수 iPad의 보관 함 또는 앨범에서 이미지를 선택 하면 앵커 요소 위치와 화살표의 방향으로 popover 지정 하는.
{ x : 0,
y : 32,
width : 320,
height : 480,
arrowDir : Camera.PopoverArrowDirection.ARROW_ANY
};
x: x는 popover 앵커는 화면 요소의 픽셀 좌표. (수)
y: y 픽셀 좌표는 popover 앵커는 화면 요소입니다. (수)
폭: 폭 (픽셀)는 popover 앵커는 화면 요소. (수)
높이: 높이 (픽셀)는 popover 앵커는 화면 요소. (수)
arrowDir: 방향 화살표는 popover 가리켜야 합니다. 에 정의 된 Camera.PopoverArrowDirection
(수)
Camera.PopoverArrowDirection = {
ARROW_UP : 1, // matches iOS UIPopoverArrowDirection constants
ARROW_DOWN : 2,
ARROW_LEFT : 4,
ARROW_RIGHT : 8,
ARROW_ANY : 15
};
참고는 popover의 크기 조정 화살표 방향 및 화면 방향 변경 될 수 있습니다. 앵커 요소 위치를 지정 하는 경우 방향 변경에 대 한 계정에 있는지 확인 합니다.
제거 임시 저장소에서 카메라로 찍은 사진을 중간.
navigator.camera.cleanup( cameraSuccess, cameraError );
camera.getPicture
를 호출한 후 임시 저장소에 보관 됩니다 중간 이미지 파일을 제거 합니다. Camera.sourceType
값은 Camera.PictureSourceType.CAMERA
및 Camera.destinationType
와 Camera.DestinationType.FILE_URI
때만 적용 됩니다..
navigator.camera.cleanup(onSuccess, onFail);
function onSuccess() {
console.log("Camera cleanup success.")
}
function onFail(message) {
alert('Failed because: ' + message);
}