Мне нужно сжать изображения перед отправкой изображений на сервер через приложение Android.Изображения, полученные с помощью камеры, очень большие, и их нужно сначала сжать.Когда изображение берется с камеры, с ним связаны некоторые свойства, такие как модель устройства, диафрагма, местоположение и т. Д.
Я пытаюсь сжать изображение, но во время сжатия эти свойства изображенийпотеряныПожалуйста, помогите, если отсутствует какая-либо строка кода или какая-либо библиотека для сжатия изображений без потери этих свойств.
private void compressImageAndAddToArrayList(Uri imageURI) {
Bitmap bm = null;
try
{
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2;
// bm = Media.getBitmap(mContext.getContentResolver(), imageLoc);
bm = BitmapFactory.decodeStream(mContext.getContentResolver().openInputStream(imageURI), null, options);
File folder = new File(Environment.getExternalStorageDirectory() + File.separator + "VDMS" + File.separator + "Camera");
folder.mkdirs();
String now = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss").format(new Date()).toString();
String fileName = caseID + "_" + now + ".jpg";
File imageFile = new File(folder + File.separator + fileName);
FileOutputStream out = new FileOutputStream(imageFile);
bm.compress(Bitmap.CompressFormat.JPEG, 64, out); // quality ranges from 0-100
bm.recycle();
addDocumentToArrayList(String.valueOf(1), Uri.fromFile(imageFile));
}
catch (Exception e)
{
e.printStackTrace();
}
}