我正在尝试复制this answer来查找android图像的方向:
fun getCameraPhotoOrientation(context: Context, inputStream: InputStream, uri: Uri): Int {
val exif = if (android.os.Build.VERSION.SDK_INT > 24) ExifInterface(inputStream) else ExifInterface(uri.path)
val orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, 1)
val rotate = when (orientation){
ExifInterface.ORIENTATION_ROTATE_270 -> 270
ExifInterface.ORIENTATION_ROTATE_180 -> 180
ExifInterface.ORIENTATION_ROTATE_90 -> 90
else -> 0
}
Log.d(TAG, "Exif orientation: $orientation") // prints 0 every time
Log.d(TAG, "Rotate value: $rotate") // prints 0 every time
return rotate
}
即使我传递的图像以错误的方式上传(不是纵向),orientation
仍返回0。
这是我调用的函数:
val inputStream = contentResolver.openInputStream(uri)!!
getCameraPhotoOrientation(this, inputStream, uri)
有什么解决方法吗?