2014-09-19 56 views
2

我正在制作一个应用,拍摄照片并发送到服务器,但发送的文件质量较差。看起来,当我使用iOS本机相机应用拍摄照片时,它显得非常清晰,但使用PhoneGap时,它会大幅降低质量。PhoneGap摄像头getPictue - 获取完整图像质量

我已经设置了图像质量,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
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当你想发送。它非常像所有的例子,但由于某种原因以前没有工作。

确保你的插件也使用最新版本。就是这样!