部分android手机拍完照片,读取出来照片被旋转问题
今天测试时发现小米6手机拍照时显示返回的照片显示被旋转90度,华为手机显示正常.
思路:使用Camera拍照以后,得到的照片会被自动旋转(90°、180°、270°),这个情况很不符合预期。仔细分析了一下,因为照片属性中是存储了旋转信息的,所以要解决这个问题,可以在onActivityResult方法中,获取到照片数据后,读取它的旋转信息,如果不是0,说明这个照片已经被旋转过了,那么再使用android.graphics.Matrix将照片旋转回去即可。
- ExifInterface(包含相片相关信息)获取,根据这个角度旋转就能获得我们想要的方向
1、读取图片的旋转属性
|
|
2、将图片按照某个角度进行旋转
|
|
3 应用在onActivityResult中,首先根据图片URL获取旋转角度信息,然后将返回的bitmap 旋转相应的角度.
完美结束