【问题标题】:Android custom portrait camera and images orientationAndroid自定义人像相机和图像方向
【发布时间】: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 进行开发。

问题是:当应用程序总是显示一个自定义的肖像相机时,我如何获得设备方向,该相机永远不应旋转,但启用了设备方向?

谢谢你, 尼古拉斯

【问题讨论】:

    标签: android camera rotation


    【解决方案1】:

    您可以使用OrientationEventListener

    OrientationEventListener mOrientationListener = new OrientationEventListener(
                this, SensorManager.SENSOR_DELAY_NORMAL) {
    
            @Override
            public void onOrientationChanged(int orientation) {
            }
    
        };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-25
      • 1970-01-01
      • 1970-01-01
      • 2015-12-19
      • 1970-01-01
      • 2012-01-20
      相关资源
      最近更新 更多