最近在做项目的自定义相册时,遇到了这么一个问题:从 小米9 手机上面的拉起系统相机进行拍照,然后上传到服务器上面,发现图片莫名其妙就旋转了 90° ,这个并不符合业务方的需求,在仔细分析后,发现拍照后,系统保存到本地的照片已经给旋转过了
因此要解决这个问题,就只有在拍照后,判断图片是否给旋转,如果有,就将它旋转回去
要获取图片的旋转信息,就需要获取图片的 Exit 信息,它里面存储了图片的全部参数,我们可以通过 ExifInterface 来获取到这个数据:
/**
* 读取图片的旋转的角度
*
* @param path 图片路径
*
* @return 图片的旋转角度
*/
private int getBitmapDegree(String path) {
int degree = 0;//被旋转的角度
try {
// 从指定路径下读取图片,并获取其 Exif 信息
ExifInterface exifInterface = new ExifInterface(path)