setRotation method
в Camera.Parameters
не работает на всех устройствах. Кто-то предлагает вручную изменить информацию EXIF
для решения проблемы. Можете ли вы дать мне небольшой пример того, как установить EXIF
информацию с помощью ExifInterface
таким образом, чтобы установить ориентацию изображения как портрет?
private int savePicture(byte[] data)
{
File pictureFile = getOutputMediaFile();
if (pictureFile == null)
return FILE_CREATION_ERROR;
try {
FileOutputStream fos = new FileOutputStream(pictureFile);
fos.write(data);
fos.close();
} catch (FileNotFoundException e) {
return FILE_NOT_FOUND;
} catch (IOException e) {
return ACCESSING_FILE_ERROR;
}
return OKAY;
}
Я пробовал с этим:
try {
ExifInterface exifi = new ExifInterface(pictureFile.getAbsolutePath());
exifi.setAttribute(ExifInterface.TAG_ORIENTATION, String.valueOf(ExifInterface.ORIENTATION_ROTATE_90));
exifi.saveAttributes();
} catch (IOException e) {
Log.e(TAG, "Exif error");
}
но ничего не меняется при визуализации изображений из галереи Android.