Jak przekonwertować mapę bitową na Drawable w Androidzie?

447

Jak przekonwertować obraz bitmapowy na Drawable?

Farha Ansari
źródło
2
Cześć, mam odpowiedź na twoje pytanie, skorzystaj z tego linku i uzyskaj właściwą odpowiedź. i odnoszę sukces, mam nadzieję, że osiągnąłeś sukces. powodzenia androidsnippets.com/convert-bitmap-to-drawable
Zala Janaksinh
2
Wkład jest świetnym sposobem, aby powiedzieć, dziękuję ... :) Wkład w zakresie udzielania odpowiedzi ... :)
Farhan
@Farhan k .......
Abhi

Odpowiedzi:

265

Brzmi jak chcesz BitmapDrawable

Z dokumentacji:

A, Drawablektóry otacza bitmapę i można go kafelkować, rozciągać lub wyrównywać. Możesz utworzyć BitmapDrawableze ścieżki pliku, strumienia wejściowego, poprzez inflację XML lub z Bitmap obiektu.

Graeme Duncan
źródło
21
@Deprecated Użyj BitmapDrawable (Resources, Bitmap), aby upewnić się, że drawable poprawnie ustawił docelową gęstość.
Camille Sévigny
79
nieprzydatny post, nieprzydatny komentarz. byłoby lepiej, jeśli dodasz trochę kodu
voghDev
827

Spróbuj przekonwertować Bitmapobraz typu naDrawable

Drawable d = new BitmapDrawable(getResources(), bitmap);
Manoj
źródło
Tego się spodziewałem!
mazend
147

Po zaobserwowaniu dużej liczby problemów związanych z nieprawidłowym skalowaniem bitmap po konwersji na a BitmapDrawable, ogólnym sposobem konwersji powinno być:

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

Bez Resources referenceThe bitmapnie może spowodować prawidłowo, nawet gdy skalowane poprawnie. Jest tu wiele pytań, które można rozwiązać po prostu przy użyciu tej metody zamiast zwykłego wywołania z samym bitmapargumentem.

Zulaxia
źródło
12
Przynajmniej skomentuj dlaczego, jeśli zamierzasz obniżyć głosowanie. Jest to całkowicie poprawna odpowiedź i zapewnia dodatkowe informacje w celu rozwiązania problemów, które mogą wystąpić w przypadku innych oferowanych odpowiedzi. Drawable wykonane bezpośrednio z mapy bitowej często mają błędy skalowania bez odniesienia do getResources ().
Zulaxia,
4
jest to dokładniejsza odpowiedź, biorąc pod uwagę, że ta z @Manoj jest przestarzała.
Raykud,
35

Oficjalna dokumentacja bitmapowa

Oto przykład, jak przekonwertować mapę bitową na rysowaną

Bitmap bitmap;  
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
imageView.setImageDrawable(drawable);
Cristiana Chavez
źródło
przepraszam ... nie mówiłem poważnie
Abhi
5
Mogłeś głosować zamiast pisać tę samą odpowiedź.
CopsOnRoad
31

Użyłem z kontekstem

//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap);
Samuel Ivan
źródło
5
Duplikat odpowiedzi.
CopsOnRoad,
19

Jeśli masz obraz bitmapowy i chcesz go użyć w trybie rysowania, np

Bitmap contact_pic;    //a picture to show in drawable
drawable = new BitmapDrawable(contact_pic); 
Pir Fahim Shah
źródło
20
To jest już przestarzałe. Użyj teraz konstruktora BitmapDrawable (Resources, Bitmap).
schlingel
1
@schlingel Nadal działa dobrze i wielu z nas używa go w naszych projektach,
Pir Fahim Shah
2
To jest dobre dla ciebie, ale nie pomaga, gdy Google w końcu zabije tego konstruktora i musisz przepisać wszystko.
schlingel
@schlingel tak, ale wciąż ktoś w pośpiechu używa tego i to działa
Pir Fahim Shah
11

Po prostu zrób to:

private void setImg(ImageView mImageView, Bitmap bitmap) {

    Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
    mImageView.setDrawable(mDrawable);
}
Joolah
źródło
1
Nie jest to rozwiązanie tego, o co prosi
II-Red-DeathII
3

1) Mapa bitowa do Drawable:

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

2) z możliwością rysowania do mapy bitowej:

Bitmap mIcon = BitmapFactory.decodeResource(context.getResources(),R.drawable.icon_resource);
// mImageView.setImageBitmap(mIcon);
Sanjayrajsinh
źródło
1

Oto kolejny:

Drawable drawable = RoundedBitmapDrawableFactory.create(context.getResources(), bitmap);
SolidSnake
źródło
0

ukryta mapa bitowa do rysowania w aplikacji szkicowej za pomocą kodu

    android.graphics.drawable.BitmapDrawable d = new android.graphics.drawable.BitmapDrawable(getResources(), bitmap);
amosu dona
źródło