Android开发之获取相册照片和获取拍照照片三之 图片旋转

在Android开发中,由于设备适配问题,相机拍摄的照片可能会出现旋转问题。本文探讨了如何处理因摄像头拍照导致的图片旋转90度的情况,以及如何通过Matrix旋转图片以达到正确显示。虽然尝试过在拍照时设置横屏显示和修改onCreate函数,但这些方法并不通用。实际解决方案是确定相机拍摄的原图与显示图片的旋转角度,并据此调整图片。参考链接提供了一种可行的解决方案。
摘要由CSDN通过智能技术生成

在做照相机图片相关操作的时候,由于android手机的适配原因,不同手机上出发的相机操作可能在细节上有很多不同,例如摄像头拍照的角度旋转了,使得获取到的图片也是旋转后的,再比如某些相机的图片像素太高了,对图片数据进行操作的时候造成内存不足等。下面就对相机拍摄时的图像被旋转的问题进行一些实际的解决方案:

问题:由于摄像头拍照 是竖屏,显示的时候需要旋转了 90 度。也就是说显示的是 旋转90度后的 预览 图片?怎么处理...

有一种方法是在说在拍照的时候将内容显示设定为横屏显示,

<activity android:name=".MainActivity" android:label="@string/app_name" android:screenOrientation="landscape">

还有在onCreate函数加入

 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);  

这样拍出来的图片就不能被旋转了。说实话,这种方式不具有通用型,而且很不灵活,不能适配所有手机。所以不建议,但是可以作为一个想法。

其实真正能解决这种问题的方法是找到相机在拍照后得到的原图和实际显示的图片的旋转角度,然后我们再通过Matrix对图片进行旋转就Ok了。

那么我们怎样获取相机拍摄的原图和实际显示图片的旋转角度呢?在网上找到了这种方法,经过验证,着实可行。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值