Wie konvertiere ich eine Bitmap in Drawable in Android?

446

Wie kann ich ein Bitmap-Bild in Drawable konvertieren?

Farha Ansari
quelle
2
Hallo, ich habe die Antwort auf deine Frage bekommen, folge diesem Link und habe die richtige Antwort, ich mache es. und ich Erfolg, ich hoffe, Sie haben den Erfolg.
Viel
2
Beitrag ist eine gute Möglichkeit, Danke zu sagen ... :) Beiträge in Bezug auf Antworten ... :)
Farhan
@ Farhan k .......
Abhi

Antworten:

264

Klingt wie Sie verwenden möchten BitmapDrawable

Aus der Dokumentation:

A Drawable, das eine Bitmap umschließt und gekachelt, gedehnt oder ausgerichtet werden kann. Sie können einen BitmapDrawableaus einem Dateipfad, einem Eingabestream, durch XML-Inflation oder aus einem Bitmap Objekt erstellen .

Graeme Duncan
quelle
21
@Deprecated Verwenden Sie BitmapDrawable (Ressourcen, Bitmap), um sicherzustellen, dass das Drawable seine Zieldichte korrekt festgelegt hat.
Camille Sévigny
79
nicht nützlicher Beitrag, nicht nützlicher Kommentar. wäre besser, wenn Sie etwas Code hinzufügen
voghDev
827

Versuchen Sie dies, es konvertiert ein BitmapTypbild inDrawable

Drawable d = new BitmapDrawable(getResources(), bitmap);
Manoj
quelle
Das habe ich erwartet!
Mazend
147

Nachdem bei der Konvertierung in a eine große Anzahl von Problemen mit falsch skalierten Bitmaps aufgetreten ist BitmapDrawable, sollte die allgemeine Konvertierungsmethode wie folgt lauten:

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

Ohne das Resources referencewird das bitmapmöglicherweise nicht richtig gerendert, selbst wenn es richtig skaliert ist. Hier gibt es zahlreiche Fragen, die einfach mit dieser Methode gelöst werden könnten, anstatt nur mit dem bitmapArgument direkt aufzurufen .

Zulaxia
quelle
12
Kommentieren Sie zumindest, warum, wenn Sie abstimmen wollen. Dies ist eine absolut gültige Antwort und enthält zusätzliche Informationen zur Lösung von Problemen, die bei den anderen angebotenen Antworten auftreten können. Drawables, die direkt aus einer Bitmap erstellt wurden, weisen häufig Skalierungsfehler ohne die Referenz getResources () auf.
Zulaxia
4
Dies ist eine genauere Antwort, wenn man bedenkt, dass die von @Manoj veraltet ist.
Raykud
35

Offizielle Bitmapdrawable- Dokumentation

Dies ist ein Beispiel für die Konvertierung von Bitmap in Drawable

Bitmap bitmap;  
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
imageView.setImageDrawable(drawable);
Cristiana Chavez
quelle
Entschuldigung ... ich war nicht ernst
Abhi
5
Sie hätten abstimmen können, anstatt dieselbe Antwort zu schreiben.
CopsOnRoad
31

Ich habe mit Kontext verwendet

//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap);
Samuel Ivan
quelle
5
Doppelte Antwort.
CopsOnRoad
19

Wenn Sie ein Bitmap-Bild haben und es in Drawable verwenden möchten, wie z

Bitmap contact_pic;    //a picture to show in drawable
drawable = new BitmapDrawable(contact_pic); 
Pir Fahim Shah
quelle
20
Das ist jetzt veraltet. Verwenden Sie jetzt den BitmapDrawable-Konstruktor (Ressourcen, Bitmap).
Schlingel
1
@schlingel Es funktioniert immer noch gut und viele von uns verwenden es in unseren Projekten,
Pir Fahim Shah
2
Das ist gut für Sie, hilft aber nicht, wenn Google diesen Konstruktor irgendwann beendet und Sie alles neu schreiben müssen.
Schlingel
@schlingel ja, aber immer noch jemand in Eile verwenden dies und es macht eine Arbeit
Pir Fahim Shah
11

Mach das einfach:

private void setImg(ImageView mImageView, Bitmap bitmap) {

    Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
    mImageView.setDrawable(mDrawable);
}
Joolah
quelle
1
Nicht die Lösung für das, was er verlangt
IIRed-DeathII
2

1) Bitmap zu Drawable:

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

2) auf Bitmap zeichnbar:

Bitmap mIcon = BitmapFactory.decodeResource(context.getResources(),R.drawable.icon_resource);
// mImageView.setImageBitmap(mIcon);
Sanjayrajsinh
quelle
1

hier ist ein anderes:

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

verdeckte Bitmap zum Zeichnen in der Sketchware-App mit Code

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