Android新兴扫码框架:XCodeScanner(持续更新)

一个Android平台上更快更简单更精准的条形码及二维码解析框架。采用ZBar解析图像数据,兼容Android4.0 (API14)及以上版本。

CSDN可能更新不够及时,了解最新版本详见 GitHub项目地址

目录

示例demo

Demo下载 示例效果
点此下载 或扫描下面二维码
demo
gif

功能介绍

本项目基于ZBar进行开发,分别对视图、相机、解码三个方面进行了高度封装,同时降低三者之间的耦合,增加可灵活配置性。

  • 视图

    • 自定义AdjustTextureView,继承自TextureView,开放setImageFrameMatrix接口,可根据自身尺寸、图像帧宽高及旋转角度对图像进行校正,解决预览画面变形等异常问题。
    • 自定义ScannerFrameView,继承自View,可通过xml属性或接口自定义扫描框、四个角及扫描线的尺寸、颜色、动画等,具体属性使用参考源码注解
    • 自定义MaskRelativeLayout&MaskConstraintLayout,分别继承自RelativeLayout&ConstraintLayout,做为ScannerFrameView的父容器,用于绘制扫描框外部阴影。
  • 相机

    • 兼容android.hardware.camera2android.hardware.Camera两版API。
    • 子线程开启camera,防止阻塞主线程造成界面跳转卡顿。
    • 采用单例模式,防止出现多个实例同时操作相机设备引发异常。
    • 开放扫码框Rect设置接口,根据预览尺寸、图像帧尺寸、预览方向计算出扫码框在图像帧上的实际位置,以指定图像识别区域。
    • TextureReader代替ImageReader,采用openGL绘制图像纹理,主要解决预览掉帧严重的问题,实时输出YUV格式图像。
  • 解码

    • 支持指定图像区域识别。
    • 开放条码类型配置接口,可任意指定需要识别的条码类型。
    • 解码回调结果包含条码类型、条码精度,可配置脏数据过滤规则。

UML类图

uml

集成方式

在module的build.gradle

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值