Ustaw orientację obrazu za pomocą interfejsu ExifInterface
setRotation method
wCamera.Parameters
nie działa we wszystkich urządzeniach. Ktoś sugeruje ręczną zmianęEXIF
informacje do rozwiązania problemu. Czy możesz podać mi krótki przykład ustawianiaexif
informacje zExifInterface
w taki sposób, aby ustawić orientację obrazu jako portret?
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;
}
Próbowałem z tym:
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");
}
ale nic się nie zmienia, gdy wizualizuję zdjęcia z galerii Androida.