一个轻量级的CameraView(支持摄像头高斯模糊)

项目中经常需要使用到摄像头,每次去写又相当麻烦,干脆封装一下,方便自己方便他人,合适的话你们就不用重复造轮子了

2017.11.29新增摄像头高斯模糊效果

            CameraBlurUtils.getInstance().init(this);
            cv.setPreviewFrameListener(new PreviewFrameListener() {
                @Override
                public void onPreviewFrameListener(byte[] data, Camera camera) {
                    bpv.setBlurFrame(CameraBlurUtils.getInstance().blur(data,camera,15f));
                }
            });

具体使用方法参考Demo

2017.7.20新增方法:
//获得摄像头对象,这样就可以拿到一系列摄像头参数
public void getCamera()
引入:

compile 'cn.bertsir.Cameralibary:cameralibary:1.0.8'
布局:

    <cn.bertsir.cameralibary.CameraView
        android:id="@+id/cv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:direction="BACK"
        ></cn.bertsir.cameralibary.CameraView>

代码:

cv = (CameraView) findViewById(R.id.cv); cv.open(MainActivity.this);

OK,就这么简单,一个摄像头View就创建好了

支持的功能:

/**
 * 关闭相机
 * @param mActivity
 */
public void close(Activity mActivity)

/**
 * 切换摄像头(相反切换)
 */
public void ChangeCamera()

/**
 * 切换摄像头(指定切换)
 */
public void ChangeCamera(int direction)
/**
 * 拍照
 * @param mTakeSuccess
 * @return
 */
public Bitmap takePhoto(CameraHelper.takeSuccess mTakeSuccess)

/**
 * 拍照并添加水印
 * @param waterMask
 * @param paddingLeft
 * @param paddingTop
 * @return
 */
public void takePhotoAddWaterMask(final Bitmap waterMask, final int paddingLeft, final int paddingTop,
                                  final WaterImageListener mWaterImageListener
  /**
 * 判断当前相机是否是前置摄像头
 * @return
 */
public Boolean currentCameraIsFront()

具体使用方法参考Demo:https://github.com/bertsir/CameraView ,喜欢的给个Start,有BUG的麻烦提出来,有什么好的想法也可以留言,我加入

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,486评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,660评论 25 709
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,351评论 0 33
  • 第一,分清容器和工具的区别 Spring是容器,它的特性是IoC和DI,所以,可以先配置起来,因为先要有这个容器,...
    到底什么情况阅读 1,872评论 0 1
  • 晚上的时候,我想起早上晾晒的被子蓝色的薄被,红色的毛毯被我遗忘一整天他们在楼顶,让阳光晒疼自己和一片素不相干的被子...
    伯爵男主阅读 1,391评论 0 3