最近做了一个自定义的相机,拍照后自动添加自定义水印图片,并且在预览窗口的右下角显示出来。下面总结一下自定义相机的步骤
一、继承SurfaceHolder.Callback回调接口,实现重载的三个方法,初始化摄像头和预览框:
@Override
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
initCamera();
}
@Override
public void surfaceCreated(SurfaceHolder paramSurfaceHolder) {
try{
this.mCamera = Camera.open();
//this.mCamera.setDisplayOrientation(90);
//在顺时针方向的基础上获取旋转角度
int degrees = getDisplayOritation(getDispalyRotation(), getDefaultCameraId());
mCamera.setDisplayOrientation(degrees);//设置相机预览的旋转角度
this.mCamera.setPreviewDisplay(paramSurfaceHolder);//设置预览所要用的surfaces对象
return;
}catch (IOException localIOException){
this.mCamera.release();
this.mCamera = null;
}
}
@Override
public void surfaceDestroyed(SurfaceHolder arg0) {
stopCamera();
if