方向错误的照片

Posted

技术标签:

【中文标题】方向错误的照片【英文标题】:Photos with wrong orientation 【发布时间】:2014-05-14 16:08:29 【问题描述】:

我正在尝试使用 Sencha Touch Camera API(http://docs.sencha.com/touch/2.3.1/#!/api/Ext.device.Camera) 在移动设备中拍照。 按照文档说明,现在我能够以 base64 格式捕获图像,这很棒。但是,当照片以纵向拍摄时,它会旋转 90 度。横向拍摄照片时不会发生这种情况。

我想我可以通过旋转图像来处理这个问题。但是,首先我需要知道使用的方向。

在 Sencha Touch 中执行此操作的最佳方法是什么?我读到我可以使用this 获取 EXIF 信息,但看起来我无法访问 EXIF 类。

【问题讨论】:

Phonegap 相机 API camera.getPicture 函数支持将解决此问题的正确方向属性。 Sencha Touch API 不包含此选项。您可以考虑通过覆盖 Ext.device.camera.Sencha 类来包含此属性 【参考方案1】:

您可以修改Ext.device.camera.Cordova,传入correctOrientation 属性。

if ('correctOrientation' in args) 
    options.correctOrientation = args.correctOrientation;

然后您可以将correctOrientation 属性直接传递给capture() 方法。

最好不要修改 Sencha Touch 源,以防止在升级时丢失自定义,因此我建议您扩展 Ext.device.Camera 单例以使用您的 Ext.device.camera.Custom

【讨论】:

我不敢相信这是我们唯一的选择。没有人使用 Sencha Touch 或 Cordova 拍照?没有其他人有方向问题吗?这很奇怪。 我在混合应用中拍照,不用Sencha的相机类,我想你可以直接使用Cordova的API,你不会损失太多。 是的。我认为这可能是最好的解决方案。忘掉煎茶的相机课吧。非常感谢阿努比斯 =)

以上是关于方向错误的照片的主要内容,如果未能解决你的问题,请参考以下文章

拍摄照片时正确设置正确的照片方向

Android 设备上的照片方向

设置 Android 照片 EXIF 方向

IOS上在HTML上传照片时方向不对的问题

使用 Android Camera API,拍摄照片的方向始终未定义

如何根据设备方向制作横向或纵向照片[重复]