Saya memiliki bitmap yang diambil dari Base64 String dari basis data jauh saya, ( encodedImage
adalah string yang mewakili gambar dengan Base64):
profileImage = (ImageView)findViewById(R.id.profileImage);
byte[] imageAsBytes=null;
try {
imageAsBytes = Base64.decode(encodedImage.getBytes());
} catch (IOException e) {e.printStackTrace();}
profileImage.setImageBitmap(
BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length)
);
profileImage adalah ImageView saya
Oke, tapi saya harus mengubah ukuran gambar ini sebelum menunjukkannya pada ImageView
tata letak saya. Saya harus mengubah ukurannya menjadi 120x120.
Bisakah seseorang memberi tahu saya kode untuk mengubah ukurannya?
Contoh yang saya temukan tidak bisa diterapkan ke string base64 yang diperoleh bitmap.
Jawaban:
Perubahan:
Untuk:
sumber
EDIT: seperti yang disarankan oleh @aveschini, saya telah menambahkan
bm.recycle();
kebocoran memori. Harap dicatat bahwa jika Anda menggunakan objek sebelumnya untuk beberapa tujuan lain, maka tangani sesuai.sumber
public Bitmap getResizedBitmap(Bitmap bm, int newWidth, int newHeight)
. Saya menghabiskan banyak waktu untuk mencari tahu. ; PJika Anda sudah memiliki bitmap, Anda bisa menggunakan kode berikut untuk mengubah ukuran:
sumber
Skala berdasarkan rasio aspek :
Untuk menggunakan tinggi sebagai alas, ganti lebar menjadi:
sumber
Skala sebuah bitmap dengan ukuran dan lebar maksimum target, sambil mempertahankan rasio aspek:
sumber
coba kode ini ini:
Semoga bermanfaat.
sumber
Seseorang bertanya bagaimana menjaga rasio aspek dalam situasi ini:
Hitung faktor yang Anda gunakan untuk penskalaan dan gunakan untuk kedua dimensi. Katakanlah Anda menginginkan gambar setinggi 20% dari layar
untuk mendapatkan resolusi layar Anda memiliki solusi ini: Dapatkan dimensi layar dalam piksel
sumber
Coba ini: Fungsi ini mengubah ukuran bitmap secara proporsional. Ketika parameter terakhir diatur ke "X" maka
newDimensionXorY
diperlakukan sebagai lebar baru dan ketika diatur ke "Y" ketinggian baru.sumber
sumber
sumber
sumber
Pada API 19, Bitmap setWidth (lebar int) dan setHeight (tinggi int) ada. http://developer.android.com/reference/android/graphics/Bitmap.html
sumber
Ubah Ukuran Bitmap berdasarkan ukuran Layar Apa Pun
sumber
Meskipun jawaban yang diterima benar, itu tidak mengubah ukuran
Bitmap
dengan mempertahankan Rasio Aspek yang sama . Jika Anda mencari metode untuk mengubah ukuranBitmap
dengan mempertahankan rasio aspek yang sama, Anda dapat menggunakan fungsi utilitas berikut. Detail penggunaan dan penjelasan fungsi ada di tautan ini .sumber
sumber
Menjaga aspek rasio,
sumber