Я пытаюсь повернуть изображение с SDCard и затем сохранить обратно на SDCard.
Я могу сделать это для формата ".jpg", используя класс ExifInterface:
exif = new ExifInterface(filepath);
exif.setAttribute(ExifInterface.TAG_ORIENTATION, Integer.toString(orientation));
exif.saveAttributes();
Для«.png» файлы, я должен был бы на самом деле повернуть и сохранить:
Bitmap bitmap = BitmapFactory.decodeFile(filepath);
Matrix matrix = new Matrix();
matrix.postRotate(degrees);
bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
FileOutputStream stream = new FileOutputStream(fileLocation);
bitmap.compress(CompressFormat.PNG, 100, stream);
Что насчет «.bmp», «.tiff», «.gif» ??
Кажетсякак CompressFormat поддерживает только 'CompressFormat.PNG' и 'CompressFormat.JPG'.
Это ограничение?