2013-12-18 24 views
1

我正在使用android相機API來處理當前正在處理的項目,並且我遇到了一個相當奇怪的行爲。當我將預覽尺寸更改爲更高的分辨率時,我確實獲得了更好的質量預覽,但是也出現了令人討厭的縮放效果: 假設我將設備放在距離1024x512中的對象5釐米處,我可以完全看完。但是如果我更改爲1920x1080,就好像我放大了對象,而我需要更遠離它才能完全捕獲它。現在這有些令人失望,因爲我想要更高的分辨率來獲得更多的細節信息,但是如果我不得不離開它,那麼傳感器不夠明智,無法獲得這些細節。 有沒有我誤解與相機API可能?Android相機API - 奇怪的縮放效果

+0

你如何渲染相機預覽框? (我想知道它是不是縮放到屏幕上的窗口。) – fadden

+0

使用SurfaceView。我想API會根據預覽的分辨率設置SurfaceView的分辨率。也許不會。沒有看看SurfaceView的選項... –

+0

TextureView將會縮放,並且通常表現得像一個View。 SurfaceView只是一個透明的矩形,位於由曲面合成器直接處理的圖層的頂部。 TextureView doc(http://developer.android.com/reference/android/view/TextureView.html)有一個路由相機預覽到視圖的例子。 – fadden

回答

1

這可能是您身邊的錯誤,或者您設備上的相機錯誤(或功能,如果您喜歡)。要進行檢查,請註冊預覽回調(setOneShotPreviewCallback()),將不同分辨率的緩衝區保存在同一位置,然後比較圖像。

從我個人的經驗來看,從4:3到16:9的分辨率往往會降低視野。但在你的例子中,這兩個設置保持相同的寬高比。

+1

我嘗試過使用不同的長寬比進行遊戲,結果你是對的。這是我注意到的原因。謝謝 –

+0

你好,我在玩Android系統相機應用時也注意到了這種效果。 4:3比例在相同距離處具有比16:9更大的場。但是我遇到了一個問題,我在我自己的應用程序中需要這種效果,但是當我使用API​​ Camera.Parameters.setPreviewSize(int,int)更改預覽時,預覽字段不會更改。你如何實現這個效果?我使用了錯誤的方法嗎? – dragonfly

+0

@dragonfly:我不太明白你的問題。當預覽尺寸發生變化時,沒有*合約*控制相機的視野。請提供更多細節。如果您期望超出單行答覆的範圍,那麼不會花費您的資金來提出新的問題。 –