Phonegap在图像捕获期间返回当前方向

use*_*263 6 javascript android cordova

我只能在他们的文档中找到有关返回设备方向的Accelerometer的信息.无论如何,手机屏幕可以返回拍摄照片时设备的持有方式吗?要使用相机,我这样做:

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 });
}
Run Code Online (Sandbox Code Playgroud)

当它返回成功时,它会执行此操作.

 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();

    }
Run Code Online (Sandbox Code Playgroud)

是否有回调成功,返回设备被拍摄时的方式,以便我可以将其发送到我的上传文件并正确旋转图片?

Sim*_*ald 23

为了让您的生活更轻松,您可以致电:

navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50,
    destinationType: destinationType.FILE_URI, 
    correctOrientation: true });
Run Code Online (Sandbox Code Playgroud)

然后你会得到一个正确旋转的文件.

  • 哇哇!! 这非常棒!! 非常感谢!我没有在文档中看到这一点,当我搜索答案时,发现这个http://stackoverflow.com/questions/9902797/phone-gap-camera-orientation他们说发生的唯一原因是因为我是使用base64并且该数据不会与base64一起传递. (2认同)