先说照片
出问题的都是jpg照片,一个完整的照片分为两部分,
一部分是:照片信息,照片信息存有里有照片里的很多东西,包括照片方向,拍摄位置,分辨率,长宽高等等,在这里对我们影响最大的是:旋转的方向以及角度。
第二部分:照片原图,可能因为拍摄角度或者手机品牌的原因,有些照片的原图方向和最终呈现在我们面前的图片方向不一样,这种情况下只有旋转了这个角度,照片才是正常显示的,这个角度记录在照片信息里,也就是说照片的原图可能和你看见的不一致 。例如:下面这个图的原图其实是逆时针旋转90度的图(惊不惊喜,意不意外)
再说问题
app内有上传图片到相册的功能,大部分图片上传没啥问题,用时间久了发现某些图片上传之前好好的,上传后在APP内展示就莫名的旋转了,因为现在手机拍照功能很强,照片质量很高,手机端或者后台一般会对较大图片进行压缩处理,如果压缩的程序不够完善,压缩过程损失了照片信息EXIF,导致再从后台拿到的照片变成了它最初的样子,没有照片信息,如果照片信息里的照片方向角度不为0,就会出现现在的问题,上传再展示就看着旋转了。如何拿到照片的角度呢?ExifInterface安卓开发可以用这个类拿到相关信息,压缩后再进行旋转,此时已经不再需要照片信息也可以正常显示。
上一段简单说一下旋转的原因,想细致了解旋转的原因及其处理办法的话,请搜索关键字ExifInterface和图片上传后台旋转。