Android通过90度旋转图片(由相机拍摄)

15

我正在使用代码从我的三星Galaxy SII设备中拍摄照片。在保存并在屏幕上显示后,我发现照片旋转了90度。

我理解这是某些设备问题 - 并不是所有设备都会出现这种情况。

我正在使用给定的相机意图拍照,并在onActivityResult函数中保存它。

我找了一下,但没有找到一个可靠的解决方案。

有什么想法可以找到问题,并仅在“有问题”的设备上将其旋转回来?


为什么使用相机意图捕获的图像在某些设备上会被旋转? - Shirish Herwade
2个回答

9

据我所见 - 我必须从相机请求横屏模式?有没有办法在某种程度上找出应用程序运行的设备是否正在旋转它?或者我应该让所有设备使用横屏模式并阻止纵向模式(这不是一个好的解决方案)。 - user1136875
1
我自己还没有弄清楚那部分。我个人打算尝试http://developer.android.com/guide/topics/media/camera.html#custom-camera,看看是否有所不同。 - Bill Gary
如果你能弄清楚 - 请告诉我 :) - user1136875
1
照片始终是按照相机内置设备的方向拍摄的。为了使您的图像正确旋转,您需要读取存储在图片中的方向信息(EXIF元数据)。它记录了拍摄图像时设备的方向。请参考此链接:https://dev59.com/zmcs5IYBdhLWcg3wWChB - BABU K

-2
我猜可能是你的方向传感器出了问题。你在程序中处理传感器数值,以知道用户何时拍摄照片时设备处于水平还是垂直方向吗?

2
不能依赖它-因为它在某些设备上运行良好,而在其他设备上却不行。 - user1136875

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