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

6

我只能在他们的文档中找到关于返回设备方向的加速计的信息。是否有办法让phonegap返回拍照时设备的持握方式? 使用相机,我这样做:

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

当它返回成功时,它会执行此操作。
 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();

    }

是否有一个回调函数返回拍照时设备的方向,以便我可以将其发送到上传文件并正确旋转图片?

1个回答

23

为了让您的生活更方便,您可以直接调用:

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

那么你将会得到一个经过正确旋转的文件。


2
哦哇!! 这个太棒了!!非常感谢!我在文档中没看到这个,当我谷歌搜索答案时,找到了这个网址https://dev59.com/qGLVa4cB1Zd3GeqPsgp4,他们说唯一的原因是因为我正在使用base64并且该数据不会随着base64传递。 - user1053263
非常感谢!这解决了我在三星设备上的问题,我总是得到一个横向方向的图像(尽管设备处于纵向方向)。 - user925861
非常出色,今晚我打算在我正在工作的项目上尝试一下,希望它能够成功!! - Mike
嘿,当我使用这段代码时它没有调用相机。我正在使用“cordova-plugin-media-capture-r0.3.3”插件。你能否请澄清一下? - Wanna Coffee
摄像头录制视频怎么样? - Maveňツ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接