前后设备相机照片捕捉意图中的图像旋转错误

时间:2015-06-02 12:50:23

标签: android image camera rotation

我已经使用以下设备相机意图来捕获并将图像保存在设备存储中:

        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE,lastChar);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
        // Start the image capture Intent
        startActivityForResult(intent, CAMERA_CAPTURE_IMAGE_REQUEST_CODE);  

Everthing工作正常,相机捕捉图像,正确保存到存储中,但当我试图通过从存储中取出图像uri并在imageview中显示图像来查看图像。 图像角度一直在变化。 用于后置摄像头捕获的图像旋转角度为90度,前置摄像头捕获图像旋转角度为270度。

我为所有图像添加了90度旋转,解决了后凸轮问题,但前置摄像头拍摄的图像仍然有180度旋转。

提前感谢,请帮我解决这个问题

2 个答案:

答案 0 :(得分:3)

有些相机实际上会以适当的旋转方式存储JPEG图像;其他人将设置一个EXIF标题,要求图像查看器旋转图像。 ImageView不支持JPEG文件中的EXIF标头。您需要使用ExifInterface(或类似技巧)查看是否有EXIF方向标题并调整图片以适应。

答案 1 :(得分:1)

我使用以下代码检查方向并将我的imageview旋转更改为该角度

surf(X,Y,Z);