问题描述
我使用的是Android camera2示例,并尝试获取相机的预览图像,对其进行处理并将结果叠加在渲染的TextureView上,该纹理最初用于显示相机预览。类似于QR码检测,并在检测到的代码上覆盖一个矩形。 尝试了几种方法,但是没有用。没有胶水怎么办。例如,我尝试在TextureView.SurfaceTextureListener.onSurfaceTextureUpdated
期间操纵SurfaceTexture。解决方法
最简单的方法是将另一个View叠加在TextureView的顶部,然后通过Canvas或类似的东西在其上进行绘制(输出几乎是透明的)。
您不能直接将其他内容添加到用于相机输出的TextureView中。如果您确实想将预览和UI渲染到同一视图,则需要自定义GLSurfaceView或类似的控件,并通过SurfaceTexture将相机预览作为纹理接收。然后,您可以按任何需要的方式呈现它和UI,但这是设置EGL的许多样板。