Я хочу сжать изображения, которые я выбрал из галереи в android в соответствии с их размерами, и загрузить их в облачное хранилище. Например, если размер изображения, которое я выбираю, составляет 300 КБ, я не уменьшаю его и сохраняю качество 100, но если оно равно 7 МБ, я хочу уменьшить его до 10 качества, и я хочу установить максимальный размер до 7 МБ выбранного изображения ( оригинал без сжатия) и аналогично помещая различные условия на размеры между ними.
Мой код
if (resultCode == RESULT_OK) {
resultUri = result.getUri();
File f = new File(resultUri.getPath());
long sizeUri = f.length()/1024;
try {
bitmap = ImageDecoder.decodeBitmap(ImageDecoder.createSource(getContentResolver(),resultUri));
} catch (IOException e) {
e.printStackTrace();
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
int baossize= baos.size()/1024;
byte[] uploadbaos = baos.toByteArray();
int lengthbmp = (uploadbaos.length);
int size= lengthbmp/1024;
Log.d(TAG,"baossize: "+baossize+" ByteArray: "+size+" UriSize: "+sizeUri);
// UploadingImage();
}