【问题标题】:Why BitmapFactory.decodeByteArray() returns null?为什么 BitmapFactory.decodeByteArray() 返回 null?
【发布时间】:2014-11-19 17:20:51
【问题描述】:

我的应用从 DB 中一一读取多个 BASE64 编码图像。但是对于某些图像(BitmapFactory.decodeByteArray() 方法返回 null,表示其格式无效。但是当我使用硬编码的罪魁祸首图像创建一个单独的应用程序时,它起作用了。现在我有一个大应用程序,其中相同的图像不起作用,而在我的测试应用程序中它可以工作。谁能告诉我为什么会发生这种情况?这是我的代码:

byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT);
Bitmap setBMPPath = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
if (setBMPPath != null) {
    qImage.setImageBitmap(setBMPPath);
}

有没有其他方法可以将字节数组转换为位图?

【问题讨论】:

    标签: android bitmap base64


    【解决方案1】:

    您可以尝试添加 Base64.NO_WRAP:

    byte[] decodeResponse = Base64.decode(base64Image, Base64.DEFAULT | Base64.NO_WRAP);
    Bitmap bitmap = BitmapFactory.decodeByteArray(decodeResponse, 0, decodeResponse.length);
    

    希望这对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-26
      相关资源
      最近更新 更多