在android中的surfaceview上创建cameraview(掩码)
Posted
技术标签:
【中文标题】在android中的surfaceview上创建cameraview(掩码)【英文标题】:Create cameraview (mask) on surfaceview in android 【发布时间】:2015-09-12 00:32:09 【问题描述】:我想在相机表面视图上创建一个蒙版。见下图。面具可调整大小。图像只会被未模糊区域点击。任何人都可以给出如何创建 suh 面具的想法吗?提前致谢。
【问题讨论】:
【参考方案1】:您不能在接收相机预览的 SurfaceView 的 Surface 上绘图。
您有两个基本选择:在 SurfaceView 的 View 部分上绘制,将其视为 custom view,或者创建第二个 SurfaceView 并将其叠加在相机表面之上。
对于后者,您可以使用setZOrderMediaOverlay()
将 Surface 定位在相机 Surface 层之上但在 View UI 层之下。您可以使用 Canvas 或 GLES 在其上绘图。您可以在Grafika's“multi-surface test”中找到具有三个 SurfaceView 的 Activity 示例。
【讨论】:
【参考方案2】:您可以使用相机预览在表面视图上绘图。您需要设置
setWillNotDraw(false);
在surfaceCreated 覆盖中。
见:Extended SurfaceView's onDraw() method never called
因此,从那里开始,像往常一样在 onDraw 中进行所有绘图。
【讨论】:
以上是关于在android中的surfaceview上创建cameraview(掩码)的主要内容,如果未能解决你的问题,请参考以下文章
Android使用SurfaceView搭建OpenGL环境
Android使用SurfaceView搭建OpenGL环境