如何从byte []创建Drawable? (机器人)

时间:2011-12-02 13:49:03

标签: android bytearray type-conversion drawable

我有一个字节数组,我需要将其转换为Android Drawable。我该如何进行此转换?

这是我尝试但没有成功的地方:

byte[] b = getByteArray();
ByteArrayInputStream is = new ByteArrayInputStream(b);
Drawable drw = Drawable.createFromStream(is, "articleImage");

drw总是空的!

编辑:

我的字节[]实际上已损坏/不完整,这就是问题。

2 个答案:

答案 0 :(得分:31)

如果您的byte[] b包含imagedata,那么您也可以尝试使用

 Drawable image = new BitmapDrawable(BitmapFactory.decodeByteArray(b, 0, b.length));

修改

现在不推荐使用没有Resources的BitmapDrawable构造函数,所以请改用:

Drawable image = new BitmapDrawable(getResources(),BitmapFactory.decodeByteArray(b, 0, b.length));

试试这个,让我知道会发生什么,

答案 1 :(得分:1)

你真的需要Drawable吗?如果Bitmap可以适合,那么:

Bitmap bitmap = BitmapFactory.decodeStream(is);