我的機器人設法設置setAttribute(ExifInterface.TAG_ORIENTATION,..)但不知道如何才能看到更改?
我的應用程序拍攝肖像照。
在畫廊我看到它確定
但當保存到我的服務器我看到它在景觀。
(這種情況僅在薩姆鬆S2)
我讀它可能與Exif標籤相連。
我檢查我的圖像文件,並得到
ORIENTATION_ROTATE_90
這是什麼意思?
我試圖將其設置爲ORIENTATION_NORAML
或ORIENTATION_UNDEFINED
但我不確定如何查看更改?
在照相館我看到它在景觀僅 (是否採取縱向或橫向)
我設法設置屬性爲我正確地讀出了新的問題。
但我如何看到變化?這應該有助於我原來的問題嗎?
ExifInterface exif;
try {
exif = new ExifInterface(imageFilename);
int orientation =
exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);
exif.setAttribute(ExifInterface.TAG_ORIENTATION,
String.valueOf(ExifInterface.ORIENTATION_ROTATE_270));
//also tried ExifInterface.ORIENTATION_ROTATE_UNDEFINED)
exif.saveAttributes();
orientation =
exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);
boolean b = orientation == Configuration.ORIENTATION_LANDSCAPE;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我該如何解決這個問題?
爲什麼更改exif標籤不夠?如果更改exif標籤什麼都不做 - 爲什麼除了旋轉之外還需要更改它?
巨大的感謝,但你爲什麼說'如果你什麼也沒做',那麼所有會做的事情都會導致你的形象在任何地方都是錯的?爲什麼改變exif標籤不夠?如果更改exif標籤什麼都不做 - 爲什麼除了旋轉之外還需要更改它? –
@EladBenda:「爲什麼改變exif標籤不夠?」 - 因爲它不會更改位圖。您將獲得您在服務器上看到的行爲(忽略EXIF標記)*,因爲您正在阻止兌現EXIF標記的圖像工具。 「除了輪換之外,爲什麼我還需要改變它?」 - 因爲那樣做的圖像工具*會尊重EXIF標籤將再次旋轉圖像*,這將是錯誤的。 – CommonsWare