自定义camera的爬坑之旅

2016-09-28  本文已影响0人  乐小文

项目中使用到了自定义camera,并实现手势缩放和自动对焦。

一、首先来看看官方文档

goole给出了10个步骤,那么我们按照这十个步骤来实现自定义camera。

二、自定义camera要使用到的类

Camera                                 相机类,详情参照官方文档

Camera.Parameters             Camera的参数设置,如:对焦、闪光灯

SurfaceView                         预览Camera镜头的取景

SurfaceHolder                      surface的抽象接口,来控制surface的尺寸和格式

SurfaceHolder.Callback      控制该接口的客户端能够接收surface改变的信息

三、demo实现

1.布局文件

FrameLayout来填充Surface

一个前、后置转换ImageView和一个拍照ImageView 

2.Surface类的实现

创建一个Activity继承SurfaceView并实现SurfaceHolder.Callback接口

 (1)构造方法

 (2)三个Override的方法

 (3)相机参数初始化

 (4)释放相机

 (5)重置相机

 (6)方向控制

3.CameraActivity的实现

(1)将CameraPreview填充到FrameLayout

context= CameraActivity.this;

context一定要这样获取,使用

Context context;

方式获取会出错

 (2)初始化相机

 (3)对焦代码较多,就不截图了,直接上传文件,源文件可以直接使用到自定义Camera中

需要注意的是,实现缩放,必须给cameraPreview设置两个监听事件,一个是setOnClickListener,一个是setOnTouchListener

 (4)demo已经提交到github上了

CustomCamera 点击下载demo

上一篇 下一篇

猜你喜欢

热点阅读