sln camera - eju-front/mobile-solution GitHub Wiki
拍照与浏览图库
目的
可以从拍照或者图库中获得照片
安装指南
安装 camera 插件,使用文档见 cordova-plugin-camera
cordova plugin add cordova-plugin-camera
使用方法
编写代码
function setOptions(srcType) {
var options = {
// Some common settings are 20, 50, and 100
quality: 50,
destinationType: Camera.DestinationType.FILE_URI,
sourceType: srcType,
encodingType: Camera.EncodingType.JPEG,
mediaType: Camera.MediaType.PICTURE,
allowEdit: false, //是否允许编辑图片
correctOrientation: true //Corrects Android orientation quirks
};
return options;
}
// 显示图片
function displayImage(imgUri) {
var preview = document.getElementById('preview');
preview.src = imgUri;
}
function pickImage(opt) {
// 从照相机获得图片
var srcType = Camera.PictureSourceType.CAMERA;
// 从图库获得图片
if (opt.type == 'picker') {
srcType = Camera.PictureSourceType.SAVEDPHOTOALBUM;
}
var options = setOptions(srcType);
// 是否使用缩略图
if (opt.thumb) {
options.targetHeight = 100;
options.targetWidth = 100;
}
navigator.camera.getPicture(function cameraSuccess(imageUri) {
displayImage(imageUri);
console.log(imageUri);
}, function cameraError(error) {
console.debug("Unable to obtain picture: " + error, "app");
}, options);
}
调用以上代码
pickImage({type: 'picker', thumb: true});
type
的值为camera
和picker
两种,前者用于从照相机获得图片,后者从图库获得图片thumb
表示是否以缩略图形式显示