1 照相机api利用getPicture方法拍照或者浏览相册中的照片
getPicture 是一个全局方法,可以通过navigator.camera调用,其签名为navigator.camera.getPicture(cameraSuccess,cameraError,{cameraOptions})
cameraOptions 是一个键值对的JSON字符串 共有八个配置参数
sourceType
navigator.camera.PictureSourceType.PHOTOLI-BRARY 从图片库中获取图片
navigator.camera.PictureSourceType.SAVEDPHOTOALBUM从相册中获取图片
navigator.camera.PictureSourceType.CAMERA 从设备的照相机获取图片 在弄些设备中和SAVEDPHOTOALBUM 是同一个
destinationType 返回的数据类型可以是URL和图片数据
quality 设定图片的质量 1-100之间的任意数字
allowEdit 指定图片在选中钱是否可以编辑
encodingType 指定图片返回的数据类型 camera.encodingType.JPEG .PNG
targetWidth用于指定图片展示时的宽度
targetHeight
mediaType
cameraSuccess 成功访问图片后的回调函数 参数值取决于 destinationType的参数 DATA_URL Base64编码的图像数据 和FILE_URL图像的URL
cameraError 访问图片失败后的回调函数该函数的参数为失败的消息
2 利用照相机拍照和从相册中浏览照片的主要逻辑
navigator.camera.getPicture(onSuccess,onFail,{sourceType:navigator.camera.PictureSourceType.CAMERA}})
navigator.camera.getPicture(onSuccess,onFail,{sourceType: navigator.camera.PictureSourceType.PHOTOLI-BRARY}})
$( ".captureBtn" ).bind( "click", function(event, ui) {getPictureFromCamera();});
$( ".browserBtn" ).bind( "click", function(event, ui) {getPictureFromePhotoLibrary();});
function getPictureFromCamera()
{
navigator.camera.getPicture(onSuccess, onFail, { quality: 50,destinationType: Camera.DestinationType.DATA_URL,sourceType:navigator.camera.PictureSourceType.PHOTOLIBRARY });
}
function onSuccess(imageData) {
var image = document.getElementById('myImage');
image.src = "data:image/jpeg;base64," + imageData;
}
function onFail(message) {
alert('Failed because: ' + message);
}
function getPictureFromePhotoLibrary()
{
navigator.camera.getPicture(onSuccessFromLib, onFail, { allowEdit:true,quality: 90,destinationType:Camera.DestinationType.FILE_URI ,sourceType:navigator.camera.PictureSourceType.PHOTOLIBRARY,targetHeight:288,targetWidth:288 });
function onSuccessFromLib(imageURI)
{
alert("imageURI"+imageURI);
var image = document.getElementById('myImage');
image.src = imageURI;
}
}
捕获API
Capture对象用于捕获视频,音频和图像 它是一个全局对象 通过navigator.device.capture来访问。捕获成功后mediaFile对象,它代表捕获到的媒体对象,提供媒体对象的5个属性信息(名称、路径、类型、大小、和最后的更改日期)和一个方法(用于返回结构化的媒体数据)