如何将 Base64 字符串转换为位图图像以在 ImageView 中显示?

新手上路,请多包涵

我有一个表示位图图像的 Base64 字符串。

我需要再次将该字符串转换为位图图像,以便在我的 Android 应用程序的 ImageView 上使用它

怎么做?

这是我用来将图像转换为 base64 字符串的代码:

 //proceso de transformar la imagen BitMap en un String:
//android:src="c:\logo.png"
Resources r = this.getResources();
Bitmap bm = BitmapFactory.decodeResource(r, R.drawable.logo);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG, 100, baos); //bm is the bitmap object
byte[] b = baos.toByteArray();
//String encodedImage = Base64.encode(b, Base64.DEFAULT);
encodedImage = Base64.encodeBytes(b);

原文由 NullPointerException 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 702
2 个回答

您基本上可以使用其他一些内置方法来恢复您的代码。

 byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);

原文由 user432209 发布,翻译遵循 CC BY-SA 2.5 许可协议

这个 解决方案 对我来说很好。如果您收到 null,请告诉我。

 private void bytesToImage(ImageView imageView, String base64String) {
        if (!base64String.isEmpty()) {
            byte[] bytes = Base64.decode(base64String, Base64.DEFAULT);
            Bitmap decodedByte = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);

           Glide.with(this).load(decodedByte).into(imageView);


        }

原文由 Muhammad Saqib Javed 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题