2017-10-12 86 views
1

儘管Camera API已被棄用,但它比Camera2開始更簡單。但這份文件似乎並不那麼容易理解(以我的閱讀能力)。我試圖弄清楚了很多。但仍有許多問題。瞭解相機API

1.相機的方向是什麼?有沒有我想念的定義?有4個尺寸(左,上,右,下)的相機。當我們說方向,哪一個被使用,什麼是相對對象?

2.爲什麼攝像頭的方向與設備不同?

3.請您告訴我如何理解Camera.setDisplayOrientation()Camera.parameters.setRotation()文檔中給出的算法?這兩種方法都有文檔給出的示例代碼。這兩種算法都使用總和差異的方向/旋轉。我可以直接在我的項目中使用它。但是,這到底意味着什麼?

此外,以背面照相機爲例,前者使用(info.orientation - degrees + 360) % 360,而後者使用(info.orientation + orientation) % 360。令人困惑:/

非常感謝您回答以上問題,或者分享您的一些想法和經驗。

回答

2

它是相機是如何定向在設備

2.設備方向是設備的當前方位/旋轉(橫向/縱向)

3。Camera.setDisplayOrientation()

影響預覽

Camera.parameters.setRotation()

影響結果的圖片(JPEG等)


文檔:

Camera.setDisplayOrientation()

設置C以度爲單位鎖定預覽顯示。這會影響 預覽幀和快照後顯示的圖片。這個 方法對縱向模式應用程序很有用。注意,預覽 顯示的前置攝像頭是 旋轉前水平翻轉,即,圖像被沿相機傳感器的中心垂直軸線 反射。因此,用戶可以將自己視爲 成鏡子。

Camera.parameters.setRotation()

設置在相對於照相機的取向度的順時針旋轉角度。這會影響從JPEG Camera.PictureCallback返回的圖片。相機驅動程序可以在不旋轉圖片的情況下在EXIF標頭中設置方向。或者驅動程序可能會旋轉圖片和EXIF縮略圖。如果旋轉Jpeg圖片,則EXIF標題中的方向將丟失或1(第0行爲頂部,第#0列爲左側)。

+0

感謝您的回覆。我編輯了我的問題。希望看看。 –

+0

我不知道「地球上的相機的方向」是什麼意思。從來沒有聽說過。相機方向的參考對象是手機自身的縱向方向 – FlanschiFox

+0

但'手機自己縱向'是手機的方向,不是'相機的方向'。此外,我只是刪除了「在地球上」的問題。 –