Android 将位图设置为 Imageview

2022-01-24 00:00:00 android bitmap java imageview

您好,我有一个 Base64 格式的字符串.我想将其转换为位图,然后将其显示为 ImageView.这是代码:

Hi i have a string in Base64 format. I want to convert it ot a bitmap and then display it to an ImageView. This is the code:

ImageView user_image;
Person person_object;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.user_profile_screen);

    // ImageViews
    user_image = (ImageView) findViewById(R.id.userImageProfile);

    Bundle data = getIntent().getExtras();
    person_object = data.getParcelable("person_object");
    // getPhoto() function returns a Base64 String
    byte[] decodedString = Base64.decode(person_object.getPhoto(), Base64.DEFAULT);

    Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
    user_image.setImageBitmap(decodedByte);
    }

此代码成功获取 Base64 字符串,我没有收到任何错误.但它不显示图像.可能是什么问题?谢谢

This code get the Base64 String successfully and i do not get any error. But It does not display the image. What can be the problem? Thanks

推荐答案

请试试这个:

byte[] decodedString = Base64.decode(person_object.getPhoto(),Base64.NO_WRAP);
InputStream inputStream  = new ByteArrayInputStream(decodedString);
Bitmap bitmap  = BitmapFactory.decodeStream(inputStream);
user_image.setImageBitmap(bitmap);

相关文章