Come convertire una bitmap a drawable in Android?
-
19-09-2019 - |
Domanda
Come posso convertire un'immagine bitmap a drawable?
Soluzione
Sembra che si desidera utilizzare BitmapDrawable
Dalla documentazione:
Un
Drawable
che avvolge una bitmap e può essere piastrellato, allungato, o allineati. voi in grado di creare unBitmapDrawable
da un percorso del file, un flusso di input, attraverso inflazione XML, o da unBitmap
oggetto.
Altri suggerimenti
Prova questo converte un'immagine di tipo Bitmap
a Drawable
Drawable d = new BitmapDrawable(getResources(), bitmap);
Dopo aver visto una grande quantità di problemi con le bitmap in scala in modo non corretto quando convertito in un BitmapDrawable
, il modo generale per convertire dovrebbe essere:
Drawable d = new BitmapDrawable(getResources(), bitmap);
Senza la Resources reference
, il bitmap
potrebbe non visualizzata correttamente, anche se in scala correttamente. Ci sono numerose domande su qui che sarebbe essere riparati facilmente utilizzando questo metodo, piuttosto che una chiamata dritto con solo l'argomento bitmap
.
Questo è di esempio su come convertire bitmap drawable
Bitmap bitmap;
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
imageView.setImageDrawable(drawable);
ho usato con il contesto
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap);
Se si dispone di un'immagine bitmap e si desidera utilizzarlo in disegnabile, come
Bitmap contact_pic; //a picture to show in drawable
drawable = new BitmapDrawable(contact_pic);
Basta fare questo:
private void setImg(ImageView mImageView, Bitmap bitmap) {
Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
mImageView.setDrawable(mDrawable);
}
Ecco un altro:
Drawable drawable = RoundedBitmapDrawableFactory.create(context.getResources(), bitmap);
mappa po 'segreta per drawable in App sketchware utilizzando il codice
android.graphics.drawable.BitmapDrawable d = new android.graphics.drawable.BitmapDrawable(getResources(), bitmap);