Camera2 API预览方面已损坏

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Camera2 API预览方面已损坏相关的知识,希望对你有一定的参考价值。

我正在使用Camera2 API来设置图像捕获片段。我只想在纵向模式下使用相机。所以我在片段的父活动的清单中设置了这一行:

android:screenOrientation="portrait"

这会将相机预览锁定为纵向。但是,图像方面是错误的。捕获图像时,方面没有问题,图像看起来应该如此,但仍然不是全屏。我怀疑相机输出被拉伸以在我的预览中填满屏幕。如何使预览和捕获的图像都填满整个屏幕,并像Snapchat一样保持其宽高比呢?

我一直在使用Google sample作为我的参考,并在XML布局文件中将AutoFitTextureView更改为match_parent。

这是它在普通肖像enter image description here中的样子

这就是我旋转手机时的样子,并且仍处于纵向模式enter image description here

答案

AutoFillTextureView尝试保持宽高比正确,但如果您正在更改其布局参数,则可能无法。

如果你没有让它成为'match_parent',那么事情是否正常?

通常,Android UI元素将使用输入数据填充自己,因此您需要将View的大小设置为正确的宽高比以避免拉伸。

另一答案

对于那些像我一样一直面临这个问题的人,如果你在2017年6月之前使用谷歌样本,那么在你的AutoFitTextureView中调整一行应该可以修复预览的宽高比。这就像将“<”更改为“>”一样简单,你可以看到here

以上是关于Camera2 API预览方面已损坏的主要内容,如果未能解决你的问题,请参考以下文章

使用camera2 API无需预览即可捕获图片

横向模式下的预览方向使用 Camera2 api 顺时针旋转

如何使用Android中的Camera2 API在不预览的情况下拍摄多张照片?

Android Camera API/Camera2 API 相机预览及滤镜贴纸等处理

Camera2全屏预览和图像捕捉

如何使用Android的Camera2 API