Как создать Drawable from byte []?(Android) - PullRequest
16 голосов
/ 02 декабря 2011

У меня есть массив байтов, и мне нужно преобразовать его в Android Drawable.Как я могу выполнить это преобразование?

Вот что я пробовал, но безуспешно:

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

drw всегда пусто!Мой байт [] был действительно поврежден / неполон, вот в чем проблема.

Ответы [ 2 ]

32 голосов
/ 02 декабря 2011

Если ваш byte[] b содержит imagedata, вы также можете попробовать это,

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

EDIT

Конструктор BitmapDrawable без ресурсов теперь устарел, поэтому используйте его вместо:

* * 1010

Попробуйте и дайте мне знать, что произойдет,

1 голос
/ 02 декабря 2011

Тебе действительно нужен Drawable? Если растровое изображение может соответствовать, то:

Bitmap bitmap = BitmapFactory.decodeStream(is);
...