[英]How to know the orientation of image, whether portrait or landscape?
我知道這是一個老問題,可以在很多地方找到,但仍然無法解決。
我想要的是,如果我使用手機的備用攝像頭拍攝圖像或從圖庫中拾取圖像,它應該告訴我圖像的方向或確切的高度和寬度,以便我確定方向。
到目前為止,我嘗試使用stackoverflow進行的操作是:
ExifInterface exif = null;
try {
exif = new ExifInterface(URI);
} catch (IOException e) {
e.printStackTrace();
}
int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION,
ExifInterface.ORIENTATION_UNDEFINED);
但是問題在於,當使用相機捕獲圖像時,它的縱向和橫向分別為6和1。 而且,如果從圖庫中選取圖像,它會給我0。所以我無法確定圖像是風景還是肖像。
提前致謝
圖像不需要具有EXIF標簽,更不用說告訴您拍攝圖像的相機方向了。 畢竟,並非所有圖像都來自相機,也不是所有圖像類型都具有EXIF標簽。
作為備用,您可以使用BitmapFactory
。 將BitmapFactory.Options
傳遞到所需的inJustDecodeBounds
decode...()
方法,在此方法中,您將inJustDecodeBounds
設置為true
。 這不會解碼整個圖像,但是會解碼到足以確定高度和寬度之類的東西。 然后,如果高度大於寬度,則將圖像視為人像。 有關此技術的更多信息,請參見文檔 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.