介绍
这是一个用于在jpeg文件或原始图像文件中读取和写入exif标记的类。
支持的格式有:jpeg、dng、cr2、nef、nrw、arw、rw2、orf、pef、srw、raf和heif。
jpeg图像文件支持属性突变
Android部分手机调起相机拿到的照片旋转了90度.
ExifInterface进行读取操作
1 | ExifInterface exifInterface = new ExifInterface(filePath); |
分别代表的值:
1 |
|
ExifInterface进行写入操作
使用两个函数 setAttribute(String tag, String value) 和
saveAttributes()
1 | ExifInterface exifInterface = new ExifInterface(filePath); |
获取缩略图
1 | // 使用前先调用exifInterface.hasThumbnail()判断一下是否有缩略图 |
返回图像文件中的jpeg压缩缩略图,如果没有jpeg压缩缩略图,则返回空值。返回的数据可以使用BitmapFactory.decodeBytearray(byte[],int,int)进行解码。
解决问题
简介中我们提到部分手机调起相机拿到的照片旋转了90度,比如 小米8
思路:
- 首先拿到图片旋转的角度
- 利用矩阵Matrix 旋转回来再获取一个bitmap
- setImageBitmap(Bitmap bitmap)显示
获取旋转角度
1 | /** |
将图片按照某个角度进行旋转
1 | /** |