我正在创建一个拍摄照片并发送到服务器的应用程序,但发送的文件质量很差。看来,当我使用iOS原生相机应用拍照时,它看起来非常清晰,但是当使用PhoneGap时,它会大大降低质量。
我已将图像质量设置为100等:
function capturePhoto() {
// Take picture using device camera and retrieve image as base64-encoded string
navigator.camera.getPicture(onPhotoURISuccess, onPhotoURIFail, {
quality: 100,
destinationType: Camera.DestinationType.FILE_URI,
//destinationType: Camera.DestinationType.DATA_URL,
//destinationType: Camera.DestinationType.NATIVE_URI,
sourceType : Camera.PictureSourceType.CAMERA,
correctOrientation: true,
saveToPhotoAlbum: true,
encodingType: Camera.EncodingType.PNG
});
}
但似乎仍然给出了真实模糊的图像。
还有其他人有这个问题吗?我也尝试使用DATA_URL来获取base64编码的图像,但是这使得应用程序变得如此之慢以至于我无法进入发送到服务器的阶段。
有没有办法使用原始的LOSSLESS文件?
由于
答案 0 :(得分:0)
function capturePhoto() {
navigator.camera.getPicture(onPhotoURISuccess, onPhotoURIFail, {
quality: 50,
destinationType: Camera.DestinationType.FILE_URI,
sourceType : Camera.PictureSourceType.CAMERA,
correctOrientation: false,
encodingType: Camera.EncodingType.PNG,
targetWidth: 1500,
targetHeight: 1500
});
}
我不确定为什么我以前不会工作,但可能是因为我在iPad上尝试了?我不记得当时我的iPhone是否也有同样的问题。
此外,检索imageURI的方式可能有所不同,也不确定,但这是我的代码来获取图像URI:
function onPhotoURISuccess(imageURI){
$('#imagePreview img.smallImage').attr("src", imageURI);
}
然后在您要发送时从图像中获取URI。它与所有例子完全一样,但由于某些原因以前没有用过。
确保您的插件也使用最新版本。那是关于它的!