Như tiêu đề ngụ ý, tôi đang cố gắng để người dùng ứng dụng Android của tôi chọn một hình ảnh từ thiết bị của mình (xong), sau đó tôi muốn chia tỷ lệ hình ảnh (xong), nén/chuyển đổi hình ảnh thành png và gửi nó đến một API dưới dạng chuỗi base64.Làm thế nào để chuyển đổi bitmap thành PNG và sau đó thành base64 trong Android?
Vì vậy, tôi đang thay đổi kích thước hình ảnh như vậy:
options.inSampleSize = calculateInSampleSize(options, MAX_IMAGE_DIMENSION, MAX_IMAGE_DIMENSION);
options.inJustDecodeBounds = false;
Bitmap bitmap = BitmapFactory.decodeFile(path, options);
sau đó tôi có một bitmap, mà tôi muốn chuyển đổi sang một PNG, và từ đó đến một base64. Tôi tìm thấy một số mã ví dụ để chuyển đổi sang PNG và lưu trữ nó trên thiết bị here.
try {
FileOutputStream out = new FileOutputStream(filename);
bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
Vấn đề là tôi không muốn lưu hình ảnh. Tôi chỉ muốn giữ nó trong bộ nhớ như là một PNG và sau đó chuyển đổi nó hơn nữa để một chuỗi base64.
Có ai biết cách tôi có thể chuyển đổi hình ảnh thành png và lưu trữ hình ảnh theo một cách như vậy hay thậm chí tốt hơn, chuyển nó thành base64 ngay lập tức? Tất cả các mẹo đều được chào đón!