2014-09-19 53 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當你想發送。它非常像所有的例子,但由於某種原因以前沒有工作。

確保你的插件也使用最新版本。就是這樣!