【问题标题】:Show .bmp file in ImageView Android 6在 ImageView Android 6 中显示 .bmp 文件
【发布时间】:2022-01-12 10:51:28
【问题描述】:

我的应用程序从后端收到带有 .bmp 文件的 ByteArray。我需要在 ImageView 中输出那个 bmp 文件。对于 Android 版本 7+,我使用 BitmapFactory.decodeByteArray() 创建 Bitmap,然后创建 imgView.setImageBitmap(),它工作得非常好。但对于操作系统版本 5 和 6,BitmapFactory.decodeByteArray() 返回 null

我还尝试将字节写入文件并从文件或流创建Bitmap - 不好。从文件中创建Drawable 并将文件的Uri 用于ImageView.setImageUri() 也不能解决问题。

Picasso 和 Glide 库也不起作用。

我认为 Android 5 和 6 根本无法与 bmp 一起使用,但这听起来不太对劲。此外,当我将测试图像(与我从服务器收到的相同)放入 res/mipmap 文件夹时,我可以将其输出到我的 ImageView。

所以我的问题是解决方案是什么?如何在 Android 5 和 6 上将 .bmp 图像从ByteArray 或本地保存的文件输出到ImageView

【问题讨论】:

    标签: java android kotlin


    【解决方案1】:

    所以我解决了这个问题。我的位图接收代码中有一个错误,因此最终的ByteArray 不包含最后一个图像列的数据。显然,Android 7+ 的解码机制忽略了这个问题,只解码尽可能多的数据。但是以前版本的操作系统严格要求足够的数据才能完整图像。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-04
      • 1970-01-01
      • 1970-01-01
      • 2019-08-10
      • 2015-03-20
      • 1970-01-01
      相关资源
      最近更新 更多