【发布时间】:2013-08-31 22:23:47
【问题描述】:
我正在编写一个自定义人像相机,但我在图像方向方面遇到了一些问题。 具体来说,我需要始终将相机置于纵向,并且使用清单配置来实现:
android:screenOrientation="portrait"
我在应用程序中设置:
customCamera.setDisplayOrientation(90);
这很有效,因为当我旋转设备(90,180,270 度)时,我可以(从相机预览)看到正确的图像。
我不在乎设备方向何时被锁定(禁用),但是当它被启用时,我似乎没有得到任何方向变化。我总是使用代码获得 0 度:
getWindowManager().getDefaultDisplay().getRotation();
从技术上讲,我需要向拍摄的图片(使用 exif 数据)写入 0、1、3、6 或 8 值。 所以,步骤是: 1)在自定义人像相机上设置正确的方向 - 完成! 2) 预览正确的图片 - 完成! 3)如果设备方向启用,获取当前旋转(0.90,180,270度) 4)用正确的方向exif标签写下拍摄的照片。
我正在使用三星 Galaxy I 进行开发。
问题是:当应用程序总是显示一个自定义的肖像相机时,我如何获得设备方向,该相机永远不应旋转,但启用了设备方向?
谢谢你, 尼古拉斯
【问题讨论】: