Bagaimana cara mengubah Bitmap menjadi Drawable di android?

447

Bagaimana saya bisa mengubah gambar Bitmap ke Drawable?

Farha Ansari
sumber
2
Hai, saya mendapat jawaban dari pertanyaan Anda, ikuti tautan ini dan dapatkan jawaban yang tepat, saya melakukannya. dan saya sukses, saya harap Anda berhasil. best of luck androidsnippets.com/convert-bitmap-to-drawable
Zala Janaksinh
2
Kontribusi adalah cara yang bagus untuk mengucapkan terima kasih ... :) Kontribusi dalam hal memberikan jawaban ... :)
Farhan
@ Farhan k .......
Abhi

Jawaban:

265

Sepertinya Anda ingin menggunakan BitmapDrawable

Dari dokumentasi:

A Drawableyang membungkus bitmap dan dapat di-tile, diregangkan, atau disejajarkan. Anda dapat membuat BitmapDrawabledari jalur file, aliran input, melalui inflasi XML, atau dari Bitmap objek.

Graeme Duncan
sumber
21
@Deprecated Gunakan BitmapDrawable (Resources, Bitmap) untuk memastikan bahwa drawable telah mengatur kepadatan target dengan benar.
Camille Sévigny
79
posting tidak berguna, komentar tidak berguna. akan lebih baik jika Anda menambahkan beberapa kode
voghDev
827

Cobalah ini untuk mengkonversi Bitmaptipe gambarDrawable

Drawable d = new BitmapDrawable(getResources(), bitmap);
Manoj
sumber
Ini yang saya harapkan!
mazend
147

Setelah melihat sejumlah besar masalah dengan bitmap yang salah penskalaan saat dikonversi ke a BitmapDrawable, cara umum untuk mengonversi harus:

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

Tanpa Resources reference, bitmapmungkin tidak ditampilkan dengan benar, bahkan ketika diskalakan dengan benar. Ada banyak pertanyaan di sini yang akan diselesaikan hanya dengan menggunakan metode ini daripada panggilan langsung dengan hanya bitmapargumen.

Zulaxia
sumber
12
Setidaknya berikan komentar mengapa jika Anda akan memilih. Ini adalah jawaban yang benar-benar valid, dan membawa informasi tambahan untuk menyelesaikan masalah yang dapat terjadi dengan jawaban lain yang ditawarkan. Drawables yang dibuat langsung dari bitmap sering memiliki kesalahan penskalaan tanpa referensi getResources ().
Zulaxia
4
ini adalah jawaban yang lebih akurat mengingat jawaban dari @Manoj sudah usang.
Raykud
35

Dokumentasi Bitmapdrawable resmi

Ini adalah contoh tentang bagaimana mengkonversi bitmap ke drawable

Bitmap bitmap;  
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
imageView.setImageDrawable(drawable);
Cristiana Chavez
sumber
maaf ... saya tidak serius
Abhi
5
Anda dapat memilih alih-alih menulis jawaban yang sama.
CopsOnRoad
31

Saya menggunakan konteks

//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap);
Samuel Ivan
sumber
5
Jawaban rangkap.
CopsOnRoad
19

Jika Anda memiliki gambar bitmap dan ingin menggunakannya dalam drawable, like

Bitmap contact_pic;    //a picture to show in drawable
drawable = new BitmapDrawable(contact_pic); 
Pir Fahim Shah
sumber
20
Itu sudah usang sekarang. Gunakan konstruktor BitmapDrawable (Sumber Daya, Bitmap) sekarang.
schlingel
1
@ schlingel Masih bekerja dengan baik dan banyak dari kita menggunakannya dalam proyek kami,
Pir Fahim Shah
2
Itu bagus untuk Anda, tetapi tidak membantu ketika Google akhirnya membunuh konstruktor ini dan Anda harus menulis ulang semuanya.
schlingel
@ schlingel ya, tapi masih ada yang terburu-buru menggunakan ini dan itu berhasil
Pir Fahim Shah
11

Lakukan ini:

private void setImg(ImageView mImageView, Bitmap bitmap) {

    Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
    mImageView.setDrawable(mDrawable);
}
Joolah
sumber
1
Bukan solusi untuk apa yang dia minta
IIRed-DeathII
3

1) bitmap ke Drawable:

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

2) dapat ditarik ke Bitmap:

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

ini satu lagi:

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

bit map rahasia untuk digambar di aplikasi sketchware menggunakan kode

    android.graphics.drawable.BitmapDrawable d = new android.graphics.drawable.BitmapDrawable(getResources(), bitmap);
amosu dona
sumber