2012-10-03 31 views
6

Tôi chỉ có thể tìm thông tin trong tài liệu của họ về Accelerometer để trở về hướng thiết bị. Có cách nào điện thoại có thể trả lại cách thiết bị được giữ khi chụp ảnh không? Để sử dụng máy ảnh, tôi thực hiện việc này:Phonegap trả lại hướng hiện tại trong khi chụp ảnh

function capturePhoto() { 
    // Take picture using device camera and retrieve image as base64-encoded string 
    navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50, 
     destinationType: destinationType.DATA_URL }); 
} 

Khi nó trả về thành công, nó sẽ thực hiện điều này.

function onPhotoDataSuccess(imageData) { 
     var baseImg = imageData; 
     $('#uploadPreUpImgSwapHtml').html('<img src="data:image/jpeg;base64,'+ baseImg +'" style="max-width:100%; width:auto; max-height:300px; height:auto;"/>'); 
     $('#uploadPreBaseDataSwapHtml').html('<input type="hidden" id="chosenPictureData" value="'+ baseImg +'" />'); 
     $('#uploadPictureBtnHideHtml').fadeIn(); 

    } 

Có gọi lại cho thành công trả về cách thiết bị được giữ trong khi chụp ảnh để tôi có thể gửi ảnh vào tệp tải lên và xoay ảnh chính xác không?

Trả lời

23

Để làm cho cuộc sống của bạn dễ dàng hơn bạn chỉ có thể gọi:

navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50, 
    destinationType: destinationType.FILE_URI, 
    correctOrientation: true }); 

sau đó bạn sẽ nhận được một tập tin mà được quay đúng cách.

+2

Ohh wow !! Điều này làm việc lộng lẫy !! Cảm ơn bạn rất nhiều! Tôi không thấy điều đó trong tài liệu và khi tôi googled câu trả lời, và tìm thấy http://stackoverflow.com/questions/9902797/phone-gap-camera-orientation này, họ cho biết lý do duy nhất xảy ra là vì tôi sử dụng base64 và dữ liệu đó không được truyền cùng với base64. – user1053263

+0

Cảm ơn bạn rất nhiều! Điều này đã giải quyết được vấn đề của tôi trên Samsung-Devices nơi tôi luôn có hình ảnh theo hướng ngang (mặc dù thiết bị đang ở hướng potrait) – Stradivari

+0

Nổi bật, cố gắng tối nay trong một dự án mà tôi đang làm, tôi hy vọng nó hoạt động !! – Mike

Các vấn đề liên quan