这可以实现吗?我正在读取一个包含图像Base64字符串的XML文件。 我计划使用Base64.decode将其转换为图像字节数组。 但是,我卡在了如何将其用于ImageView上。 我是否需要先创建一个“drawable”类,然后将其设置为ImageView的src属性?
谢谢!
这可以实现吗?我正在读取一个包含图像Base64字符串的XML文件。 我计划使用Base64.decode将其转换为图像字节数组。 但是,我卡在了如何将其用于ImageView上。 我是否需要先创建一个“drawable”类,然后将其设置为ImageView的src属性?
谢谢!
如果还有其他人遇到这个问题,这里是代码
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.widget.ImageView;
public class ModelAssistant {
public static void setImageViewWithByteArray(ImageView view, byte[] data) {
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
view.setImageBitmap(bitmap);
}
}
// Convert bytes data into a Bitmap
Bitmap bmp = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
ImageView imageView = new ImageView(ConversationsActivity.this);
// Set the Bitmap data to the ImageView
imageView.setImageBitmap(bmp);
// Get the Root View of the layout
ViewGroup layout = (ViewGroup) findViewById(android.R.id.content);
// Add the ImageView to the Layout
layout.addView(imageView);
虽然有点晚了,但我不得不分享这个解决方案:
Glide.with(context)
.load(Base64.decode(base_64_string,0))
//.load(Uri.parse(file_uri_string)//load from file path
.diskCacheStrategy(DiskCacheStrategy.NONE)//to prevent caching
.skipMemoryCache(true)//to prevent caching
.into(view);
byte[] pic = intent.getByteArrayExtra("pic");
capturedImage = (ImageView) findViewById(R.id.capturedImage);
Bitmap bitmap = BitmapFactory.decodeByteArray(pic, 0, pic.length);
Bitmap bitmap1 = Bitmap.createScaledBitmap(bitmap,capturedImage.getWidth(),capturedImage.getHeight(),true);
capturedImage.setImageBitmap(bitmap1);