SurfaceView实现简单的camera预览

1)自定义Surfaceview 实现圆形预览界面

@Override

//绘制一个圆形的框,并设置圆框的坐标和半径大小

public void draw(Canvas canvas) {

Path path =new Path();

path.addCircle(widthSize /2,screenHeight /2,widthSize /2 -200, Path.Direction.CCW);

canvas.clipPath(path, Region.Op.REPLACE);

super.draw(canvas);

}

ps:必须在xml布局中设置背景为白色透明 #ffffffff

2)初始化SurfaceView,implements SurfaceHolder.Callback

重写 surfaceCreated,surfaceChanged,surfaceDestroyed

surfaceCreated中完成对相机的初始化

surfaceChanged中绑定要显示的的画面,然后开启预览

surfaceDestroyed 完成对资源的释放

下面有一篇写的很完善的链接,可以参考

(17条消息) 自定义Camera系列之:SurfaceView + Camera_阿飞的博客-CSDN博客

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容