我想使用相机插件cordova 3.4。我需要两个选择。首先它可以用相机拍照,然后我可以在库中选择照片。
这是我只使用相机的代码
function Photo(id, data, format) {
this.id = id;
this.data = data;
this.format = format || "png";
this.name = function() {
var date = new Date();
return "" + date.getTime() + "_" + this.id + "." + this.format;
};
}
SiteCamera = {
dataWithMimeType: function(data) {
return 'data:image/png;base64,' + data;
},
takePhoto: function(idField, updated) {
SiteCamera.id = idField;
SiteCamera.updated = updated;
navigator.camera.getPicture(SiteCamera.onSuccess, SiteCamera.onFail, {
quality: 50,
destinationType: Camera.DestinationType.DATA_URL,
sourceType : Camera.PictureSourceType.CAMERA,
encodingType: Camera.EncodingType.JPEG
});
},
onSuccess: function(imageData) {
var imageId = SiteCamera.updated ? "update_" + SiteCamera.id : SiteCamera.id;
var image = document.getElementById(imageId);
var photo = new Photo(SiteCamera.id, imageData);
image.src = SiteCamera.dataWithMimeType(imageData);
PhotoList.add(photo);
},
onFail: function() {
alert("Failed");
}
};
谁可以帮助我,我想要的功能可以让我使用相机选项或在库中选择照片。我向所有人展示的代码只是选择了。如果我使用第一个选项我只能使用此选项,但我需要两个但我不知道该怎么做。
答案 0 :(得分:1)
var destinationType = navigator.camera.DestinationType;
var source = navigator.camera.PictureSourceType.PHOTOLIBRARY;
navigator.camera.getPicture(function (imageURI) {
/*Success callback*/
},
function (e) {
/*Fail callback*/
},
{
quality: 100,
destinationType: destinationType.FILE_URI,
sourceType: source
});
您可以从相机,照片库和相册中获取图片,只需更改来源类型即可。
source = navigator.camera.PictureSourceType.PHOTOLIBRARY; //From PhotoLibrary
source = navigator.camera.PictureSourceType.SAVEDPHOTOALBUM; //From Album
source = navigator.camera.PictureSourceType.CAMERA; //From Camera(Default)