Cara mendapatkan objek Bitmap dari Uri (jika saya berhasil menyimpannya di
/data/data/MYFOLDER/myimage.png
ataufile///data/data/MYFOLDER/myimage.png
) menggunakannya di aplikasi saya?
Adakah yang punya ide tentang bagaimana mencapainya?
android
uri
android-image
android-bitmap
ilredelweb
sumber
sumber
Jawaban:
. . PENTING: Lihat jawaban dari @Mark Ingram di bawah ini dan @pjv untuk solusi yang lebih baik. . .
Anda bisa mencoba ini:
Tapi ingat, metode ini seharusnya hanya dipanggil dari dalam utas (bukan GUI -baca). Saya seorang AsyncTask.
sumber
Inilah cara yang benar untuk melakukannya:
Jika Anda perlu memuat gambar yang sangat besar, kode berikut akan memuatnya dalam ubin (menghindari alokasi memori yang besar):
Lihat jawabannya di sini
sumber
Inilah cara yang benar untuk melakukannya, mengawasi penggunaan memori juga:
Panggilan getBitmap () dari pos Mark Ingram juga memanggil decodeStream (), sehingga Anda tidak kehilangan fungsionalitas apa pun.
Referensi:
Android: Dapatkan thumbnail gambar pada kartu SD, diberi Uri gambar asli
Menangani Bitmap besar
sumber
getPowerOfTwoForSampleRatio()
dapat dilewati. Lihat: developer.android.com/reference/android/graphics/…dan ya path harus dalam format seperti ini
file:///mnt/sdcard/filename.jpg
sumber
Ini adalah solusi termudah:
sumber
sumber
Bitmap bitmap = MediaStore.Images.Media.getBitmap(context.getContentResolver(), uri);
Tampaknya
MediaStore.Images.Media.getBitmap
sudah usang diAPI 29
. Cara yang disarankan adalah menggunakanImageDecoder.createSource
yang ditambahkanAPI 28
.Berikut cara menyelesaikan bitmap:
sumber
Anda dapat mengambil bitmap dari uri seperti ini
sumber
sumber
Gunakan metod startActivityForResult seperti di bawah ini
Dan Anda bisa mendapatkan hasil seperti ini:
sumber
Saya sudah mencoba banyak cara. ini bekerja untuk saya dengan sempurna.
Jika Anda memilih pictrue dari Galeri. Anda harus siap untuk mendapatkan
Uri
dariintent.clipdata
atauintent.data
, karena salah satunya mungkin nol dalam versi yang berbeda.sumber
Anda dapat melakukan struktur ini:
dengan ini Anda dapat dengan mudah mengonversi uri menjadi bitmap. semoga membantu kamu.
sumber
Bagian awal
getBitmap
yang sekarang saya gunakan adalah pendekatan berikut di Kotlinsumber
sumber
(KOTLIN) Jadi, pada 7 April 2020, tidak ada opsi yang disebutkan di atas yang berfungsi, tetapi inilah yang bekerja untuk saya:
Jika Anda ingin menyimpan bitmap dalam val dan mengatur imageView dengannya, gunakan ini:
val bitmap = BitmapFactory.decodeFile(currentPhotoPath).also { bitmap -> imageView.setImageBitmap(bitmap) }
Jika Anda hanya ingin mengatur bitmap dan imageView, gunakan ini:
BitmapFactory.decodeFile(currentPhotoPath).also { bitmap -> imageView.setImageBitmap(bitmap) }
sumber
Metode lengkap untuk mendapatkan gambar uri dari galeri seluler.
sumber