在Android中向ImageView显示byte []

时间:2010-08-23 07:27:57

标签: android

有可能这样做吗?我正在读取一个包含图像的Base64字符串的XML文件。我打算使用Base64.decode来获取图像字符串的字节数组。我对如何在ImageView中使用它感到困惑。我是否必须首先创建一个'drawable'类,然后将其设置为ImageView的src属性?

谢谢!

3 个答案:

答案 0 :(得分:48)

如果其他人偶然发现了这个问题,这里是代码

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

答案 1 :(得分:30)

您可以使用BitmapFactory.decodeByteArray()来执行解码。

答案 2 :(得分:2)

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

我们使用Bitmap.decodeByteArray()将字节数据转换为Bitmap,然后将其设置为新创建的ImageView。