2017-04-24 51 views
0

我STUDING這個谷歌項目使用的Camera2一個例子:https://github.com/googlesamples/android-Camera2Basic安卓:減少TextureView的高度攝像頭預覽

這個例子完美的作品。現在我想讓區域預覽比本示例更小;所以我改變了這樣的比例:

mTextureView.setAspectRatio(getScreenWidth(), getScreenHeight() - bottom_area_height); 

,但效果不好...預覽沒有一個良好的比現在(太水平拉伸): enter image description here

你有一個想法傢伙?

非常感謝!

+0

你能從你提到的示例調試740行的等價物嗎? https://github.com/googlesamples/android-Camera2Basic/blob/master/Application/src/main/java/com/example/android/camera2basic/Camera2BasicFragment.java –

回答

0

你確實得到了你所要求的,這是一個不同的縱橫比。不幸的是,只有一個長寬比是正確的,因爲它需要匹配相機預覽緩衝區。

如果你想要一個較小的預覽,你需要在兩個方向縮小它以保持正確的寬高比。因此,如果您更新佈局以獲得較窄的空間並保持寬高比相同,則高度也應該降低。或者減少周圍框架的高度;在任何情況下,縱橫比都必須保持不拉伸。

AutoFitTextureView不用於裁剪預覽,這是避免拉伸的其他選項。這可以通過搞亂TextureView轉換來完成,但這確實意味着你正在切斷某些視圖。