Camera开发—如何自定义相机

自定义摄像头预览功能

github源码

权限

动态权限略

<uses-permission android:name="android.permission.CAMERA" />

代码

  1. 使用SurfaceView

这里不能使用普通的View,因为要实时地显示摄像头捕获到的图像,简单来说View适合被动刷新的情况,SurfaceView适合主动刷新(在子线程里),其余的不多说了

  1. 获取相机

import android.hardware.Camera;

注意camera导包到这个,虽然过时了

    private Camera getCamera() {
        Camera camera;
        try {
            camera = Camera.open();
        } catch (Exception e) {
            camera = null;
        }

        return camera;
    }
  1. 开始预览图像
    private void setStartPreView(Camera camera, SurfaceHolder holder) {
        try {
            //把camera捕获到的图像显示在SurfaceView里
            camera.setPreviewDisplay(holder);
            //将预览效果横屏转为竖直的camera
            camera.setDisplayOrientation(90);
            camera.startPreview();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值