我正在使用以下代码 Camera2 研究此Google项目:https://github.com/googlesamples/android-Camera2Basic
此示例完美无缺。现在我希望区域预览小于此示例中的区域预览;所以我改变了这样的比例:
mTextureView.setAspectRatio(getScreenWidth(), getScreenHeight() - bottom_area_height);
但结果很糟糕......预览现在没有很好的比例(横向过度拉伸):
你有个想法吗?
非常感谢!
答案 0 :(得分:0)
你确实得到了你所要求的,这是一个不同的宽高比。不幸的是,只有一个宽高比是正确的,因为它需要匹配相机预览缓冲区的宽高比。
如果您想要较小的预览,则需要在两个方向上缩小它以保持正确的宽高比。因此,如果您将布局更新为具有更窄的空间,并保持纵横比相同,则高度也应该下降。或者减小周围框架的高度;在任何情况下,纵横比必须保持不拉伸的程度。
AutoFitTextureView并非设计用于裁剪预览,这是避免拉伸的另一种选择。这可以通过搞乱TextureView转换来完成,但它确实意味着你要切断一些视图。