首页 > 解决方案 > camera2 期间的图像处理和纹理视图上的叠加结果(绘图)

问题描述

我正在使用 Android camera2 示例并尝试获取相机的预览图像,对其进行处理并在渲染的 TextureView 上覆盖结果,该 TextureView 最初用于显示相机预览。类似于 QR 码检测并在检测到的代码上覆盖一个矩形。尝试了几种方法,但没有奏效。没有胶水怎么做。例如,我尝试在 TextureView.SurfaceTextureListener.onSurfaceTextureUpdated 期间操作 SurfaceTexture

标签: androidandroid-camera2

解决方案


最简单的方法是在 TextureView 之上覆盖另一个 View,并通过 Canvas 或类似工具在其上绘制(具有大部分透明的输出)。

您不能直接将其他内容添加到用于相机输出的 TextureView。如果你真的想将预览和你的 UI 渲染到同一个视图,那么你需要一个自定义的 GLSurfaceView 或类似的,并通过 SurfaceTexture 将相机预览作为纹理接收。然后你可以用任何你想要的方式渲染它和你的 UI,但是设置 EGL 是很多样板。


推荐阅读