Как конвертировать растровое изображение в Drawable в Android? - PullRequest
418 голосов
/ 10 марта 2010

Как я могу преобразовать растровое изображение в Drawable?

Ответы [ 9 ]

796 голосов
/ 30 декабря 2010

Попробуйте, это преобразует изображение типа Bitmap в Drawable

Drawable d = new BitmapDrawable(getResources(), bitmap);
255 голосов
/ 10 марта 2010

Звучит так, как вы хотите использовать BitmapDrawable

Из документации:

A Drawable, который упаковывает растровое изображение и может быть плиточным, растянутым или выровненным. Вы может создать BitmapDrawable из путь к файлу, входной поток, через XML инфляция, или от Bitmap объект.

140 голосов
/ 31 января 2012

Видя большое количество проблем с неправильным масштабированием растровых изображений при преобразовании в BitmapDrawable, общий способ преобразования должен быть следующим:

Drawable d = new BitmapDrawable(getResources(), bitmap);

Без Resources reference bitmap может отображаться некорректно, даже при правильном масштабировании. Здесь есть множество вопросов, которые можно решить, просто используя этот метод, а не прямой вызов только с аргументом bitmap.

34 голосов
/ 11 июня 2014

Официальное растровое изображение документация

Это пример того, как преобразовать растровое изображение в нарисованное

Bitmap bitmap;  
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
imageView.setImageDrawable(drawable);
30 голосов
/ 13 октября 2016

Я использовал с контекстом

//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap);
20 голосов
/ 20 ноября 2012

Если у вас есть растровое изображение, и вы хотите использовать его в режиме рисования, например

Bitmap contact_pic;    //a picture to show in drawable
drawable = new BitmapDrawable(contact_pic); 
11 голосов
/ 23 июля 2015

Просто сделайте это:

private void setImg(ImageView mImageView, Bitmap bitmap) {

    Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
    mImageView.setDrawable(mDrawable);
}
1 голос
/ 09 апреля 2018

вот еще один:

Drawable drawable = RoundedBitmapDrawableFactory.create(context.getResources(), bitmap);
0 голосов
/ 29 мая 2019

скрытая битовая карта для рисования в приложении Sketchware с использованием кода

    android.graphics.drawable.BitmapDrawable d = new android.graphics.drawable.BitmapDrawable(getResources(), bitmap);
...