我有一个代表位图图像的Base64字符串。
我需要将字符串转换为位图图像再次使用它在ImageView在我的Android应用程序
怎么做呢?
这是我用来将图像转换为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);
这是一个非常老的线程,但认为分享这个答案,因为它花了很多我的开发时间来管理BitmapFactory.decodeByteArray()的NULL返回@Anirudh已经面临。
如果encodedImage字符串是一个JSON响应,只需使用Base64。URL_SAFE而不是Base64。DEAULT
byte[] decodedString = Base64.decode(encodedImage, Base64.URL_SAFE);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
这是一个非常老的线程,但认为分享这个答案,因为它花了很多我的开发时间来管理BitmapFactory.decodeByteArray()的NULL返回@Anirudh已经面临。
如果encodedImage字符串是一个JSON响应,只需使用Base64。URL_SAFE而不是Base64。DEAULT
byte[] decodedString = Base64.decode(encodedImage, Base64.URL_SAFE);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);