我有一个字节数组,我需要将其转换为Android Drawable。我该如何进行此转换?
这是我尝试但没有成功的地方:
byte[] b = getByteArray();
ByteArrayInputStream is = new ByteArrayInputStream(b);
Drawable drw = Drawable.createFromStream(is, "articleImage");
drw总是空的!
编辑:
我的字节[]实际上已损坏/不完整,这就是问题。
答案 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);