簡體   English   中英

如何知道圖像的方向(縱向還是橫向)?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM