我知道这个问题已经被问过很多次了,但没有找到最好的答案。
MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri)
我正在从此代码中检索位图,它返回一个旋转的位图。另外,我传递的 Uri 的形式为
content://com.android.providers.media.documents/document/image%3A3553763
我无法使用ExifInterface,因为它需要来自uri的真实路径,但我拥有的URI无法转换为真实路径。我已经尝试了一些答案,其中一些答案在一定程度上有效并返回,但如果我从 MIUI 库或系统存储应用程序中选择图像,它们就会失败。
我无法使用 ExifInterface,因为它需要来自 uri 的真实路径
已经好几年不需要这样了。具体来说,使用 the
ExifInterface
神器中的 androidx.exifinterface:exifinterface
。它有 一个接受 InputStream
的构造函数,您可以通过 InputStream
和 Uri
获取与 ContentResolver
关联的内容的 openInputStream()
。
此外,FWIW,许多图像加载库会自动为您处理图像旋转。