bitmap load - ¿Cómo convertir un mapa de bits a Drawable en Android?




image create (8)

Utilicé con contexto

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

¿Cómo puedo convertir una imagen de mapa de bits a Drawable?


Prueba esto, convierte una imagen de tipo Bitmap a Drawable

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

documentation oficial de bitmapdrawable

Esta es una muestra de cómo convertir bitmap a drawable.

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

Suena como si quisieras usar BitmapDrawable

De la documentación:

Un Drawable que envuelve un mapa de bits y puede ser en mosaico, estirado o alineado. Puede crear un BitmapDrawable desde una ruta de archivo, una secuencia de entrada, a través de la inflación XML, o desde un objeto Bitmap .


Habiendo visto una gran cantidad de problemas con los mapas de bits que se BitmapDrawable incorrectamente cuando se convierten a un BitmapDrawable , la forma general de convertir debe ser:

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

Sin la Resources reference , el bitmap puede no mostrarse correctamente, incluso cuando se escala correctamente. Hay numerosas preguntas aquí que se resolverían simplemente usando este método en lugar de una llamada directa con solo el argumento de bitmap .


aqui hay otro más:

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

Si tiene una imagen de mapa de bits y desea usarla en dibujable, como

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

MÉTODO 1 : O bien puede convertir directamente a mapa de bits como este

Bitmap myLogo = BitmapFactory.decodeResource(context.getResources(), R.drawable.my_drawable);

MÉTODO 2 : Incluso puede convertir el recurso en el dibujable y desde allí puede obtener un mapa de bits como este

Bitmap myLogo = ((BitmapDrawable)getResources().getDrawable(R.drawable.logo)).getBitmap();

Para API> 22, el método getDrawable se movió a la clase ResourcesCompat , así que para que hagas algo como esto

Bitmap myLogo = ((BitmapDrawable) ResourcesCompat.getDrawable(context.getResources(), R.drawable.logo, null)).getBitmap();




android bitmap android-drawable