2013-10-02 32 views
0

我需要設置方向值,當從圖像中的標籤從相機捕捉圖像。我試着舉例:設置與Exif上的方位角

exif.setAttribute("GPSImgDirectionRef","T"); 

    exif.setAttribute("GPSImgDirection","142.2"); 

沒有成功。

有什麼想法?

Thks。

+0

你可以粘貼一些日誌堆棧跟蹤或代碼或任何錯誤來指定它不工作? thx – dumbfingers

+0

ss1271,不會出現錯誤,但Exif數據無效,並且不會退出(請參閱[this](http://developer.android.com/reference/android/media/ExifInterface.html)鏈接) – user4056

回答

0

我到了這個問題的解決方案最近,如果有人需要它:

根據ExifInterfacedocumentation使用標籤TAG_GPS_IMG_DIRECTION屬性期望一個「理性」的價值。但據我所知,它是源代碼,它首先通過檢查字符串中是否存在「/」字符來驗證插入值,然後在「/」之前和之後得到數字以生成雙精度值,並且就在它可以轉換爲double值時,這個屬性將被添加到圖像文件中。

因此,基本上要使它工作,而不是發送一個雙重值作爲你的屬性,你需要發送一個分數。

作爲一個建議,使用Apache Commons Math Lib - Fraction可以很容易地完成double中的一小部分。它會是這樣的:

Fraction azimuthAsFraction = new Fraction(azimuthAsDouble); 
exif.setAttribute(TAG_GPS_IMG_DIRECTION, String.valueOf(azimuthAsFraction)); 

這樣你的方位角值應該被添加到圖像文件的元數據。