Android:降低TextureView的高度以进行相机预览

时间:2017-04-24 11:13:18

标签: android textureview

我正在使用以下代码 Camera2 研究此Google项目:https://github.com/googlesamples/android-Camera2Basic

此示例完美无缺。现在我希望区域预览小于此示例中的区域预览;所以我改变了这样的比例:

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

但结果很糟糕......预览现在没有很好的比例(横向过度拉伸): enter image description here

你有个想法吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

你确实得到了你所要求的,这是一个不同的宽高比。不幸的是,只有一个宽高比是正确的,因为它需要匹配相机预览缓冲区的宽高比。

如果您想要较小的预览,则需要在两个方向上缩小它以保持正确的宽高比。因此,如果您将布局更新为具有更窄的空间,并保持纵横比相同,则高度也应该下降。或者减小周围框架的高度;在任何情况下,纵横比必须保持不拉伸的程度。

AutoFitTextureView并非设计用于裁剪预览,这是避免拉伸的另一种选择。这可以通过搞乱TextureView转换来完成,但它确实意味着你要切断一些视图。