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

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

我有一个base 64字符串,它表示位图图像。

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

怎么做?

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

//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);


SMILET
浏览 889回答 3
3回答

侃侃尔雅

基本上,您可以使用其他内置的方法来恢复代码。byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT);Bitmap decodedByte = BitmapFactory. decodeByteArray(decodedString, 0, decodedString.length);

海绵宝宝撒

这是一个非常古老的线索,但我想要分享这个答案,因为我花了大量的开发时间来管理这个问题。NULL交还BitmapFactory.decodeByteArray()就像@Anirudh所面对的那样。如果encodedImage字符串是JSON响应,只需使用Base64.URL_SAFE而不是Base64.DEAULTbyte[] decodedString = Base64.decode(encodedImage, Base64.URL_SAFE); Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android