item Как преобразовать Bitmap в Drawable в Android?




layerdrawable (7)

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


Похоже, вы хотите использовать BitmapDrawable

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

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


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

private void setImg(ImageView mImageView, Bitmap bitmap) {

    Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
    mImageView.setDrawable(mDrawable);
}

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

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

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


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

Bitmap contact_pic;    //a picture to show in drawable
drawable = new BitmapDrawable(contact_pic); 

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

//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap);

Официальная documentation Bitmapdrawable

Это пример того, как преобразовать bitmap в drawable

Bitmap bitmap;  
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
imageView.setImageDrawable(drawable);

вот еще один:

Drawable drawable = RoundedBitmapDrawableFactory.create(context.getResources(), bitmap);




android-drawable