setRotation method
inCamera.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ギャラリーの写真を視覚化しても何も変わりません。