【问题标题】:Why when loading image with Glide as ByteArray into an ImageView doesn't rotate it according to EXIF?为什么使用 Glide 作为 ByteArray 将图像加载到 ImageView 时不会根据 EXIF 旋转它?
【发布时间】:2019-04-06 19:41:32
【问题描述】:

我在 Android 上使用 Glide 库将 JPG 格式的图像加载到 ImageView 中,首先将其转换为 ByteArray,然后使用以下代码:

GlideApp.with(context)
                .load(selectedImageByteArray)
                .into(image_view)
但是,当所选图像取向EXIF数据等于“旋转270cw”时,除非我使用以下代码,否则图像不会通过滑行旋转:
GlideApp.with(context)
                .load(selectedImagePath)
                .into(image_view)

这样我传递选择的图像Uri而不是ByteArray,为什么会发生这种情况?

我附上示例(即使在 Stack 中也没有旋转):

【问题讨论】:

  • "首先我将其转换为 ByteArray"——我不知道你为什么要这样做。但是,就您的问题而言,如何您是如何做到这一点的?

标签: android image android-camera android-glide exif


【解决方案1】:

因为该接口采用路径而不是其他任何东西。有点烦人,因为取决于 api 级别,它并不总是可用。在一些较新版本的android中,获取file.image的实际路径并不容易 为此的数据 简短的回答是接口使用的数据存储在文件中,而不是图像数据本身。有很多关于这个的堆栈溢出链接:

SO

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 2018-08-26
    • 2018-12-22
    • 1970-01-01
    相关资源
    最近更新 更多