2010-03-10 10 views
374

Come posso convertire un'immagine Bitmap in Disegnabile?Come convertire una bitmap in Drawable in Android?

Grazie, Farha

+2

Ciao ho ottenuto la risposta della tua domanda segui questo link e ottenuto la risposta giusta lo faccio. e io successo, spero che tu abbia ottenuto il successo. buona fortuna http://www.androidsnippets.com/convert-bitmap-to-drawable –

+2

Il contributo è un ottimo modo per dire grazie ... :) Contributi in termini di risposte ... :) – Farhan

+0

@Farhan k ....... – Abhi

risposta

236

Suona come si desidera utilizzare BitmapDrawable

Dalla documentazione:

Un Drawable che avvolge una bitmap e può essere cotto o stiramenti o allineato. È possibile creare da un percorso di file, un flusso di input, tramite inflazione XML o da un oggetto .

+18

@Deprecated Usa BitmapDrawable (Risorse, Bitmap) per garantire che il drawable abbia impostato correttamente la sua densità di destinazione. –

+62

post non utile, commento non utile. sarebbe meglio se aggiungessi del codice – voghDev

739

Prova questo si converte un'immagine Bitmap tipo di Drawable

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

@Deprecated Usa BitmapDrawable (Risorse, Bitmap) per assicurarti che il drawable abbia impostato correttamente la sua densità di destinazione. Creabile da una bitmap, senza occuparsi della densità. – Murphy

+17

Dovrebbe averlo contrassegnato con una modifica @ViliusK in modo che le persone non leggano il commento con un alto voto e si chiedano di cosa stai parlando. –

130

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 qui che potrebbero essere risolte semplicemente utilizzando questo metodo piuttosto che una chiamata diretta con solo l'argomento bitmap.

+9

Almeno commenta perché se stai andando giù per votare.Questa è una risposta perfettamente valida e fornisce informazioni aggiuntive per risolvere i problemi che possono verificarsi con le altre risposte offerte. I drawable realizzati direttamente da una bitmap hanno spesso errori di ridimensionamento senza il riferimento getResources(). – Zulaxia

+3

questa è una risposta più accurata considerando che quello di @Manoj è deprecato. – Raykud

19

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); 
+19

Questo è deprecato ora. Utilizza ora il costruttore BitmapDrawable (Risorse, Bitmap). – schlingel

+1

@schlingel Funziona ancora bene e molti di noi lo usano nei nostri progetti, –

+1

Questo è un bene per te, ma non aiuta quando Google uccide questo costruttore e devi riscrivere tutto. – schlingel

29

Ufficiale Bitmapdrawable documentation

Questo è di esempio su come convertire bitmap to drawable

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

Risposta duplicata con http://stackoverflow.com/a/4560707/517381 – ViliusK

+0

Risposta duplicata – Daniel

+0

scusa ... non ero serio – Abhi

10

Proprio A fare questo:

private void setImg(ImageView mImageView, Bitmap bitmap) { 

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

Non la soluzione per quello che sta chiedendo –

21

ho usato con il contesto

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

Risposta duplicata. – CopsOnRoad

Problemi correlati