二维码的扫描以及生成
2016-08-04 16:22
190 查看
*最早我们用来生成二维码的第三方是ZBer,日本人开发的 但识别不好,容易出现乱码而且非开源。
现在我们主流用的是ZXing 它是由谷歌公司开发的,用于二维码的生成和扫描 ZXing的包我们可以在gethub上面下载 因为直接下载配置文件特别麻烦,我们开发不需要那么多东西,所以直接在网上找一个简化版的ZXing的Demo使用就可以了*
但是在我们导入的时候会有点问题 因为我们需要把这个Demo变成library 才能够用我们自己的项目进行依赖操作 把它变成library后switch就不能使用了 原来的代码会报错 所以我们需要把它变成if else语句
下面是对ZXing源码的分析::
ZXing有两个最主要的类
CaptureActivity和EncodingHandler
一个是用来扫描二维码的 另一个是用来生成二维码的
里面还有三个package:camera decoding view
camera 里面的一些类主要就是对相机参数的设置
decoding主要负责解码编码
view 里面就是两个控件
CaptureActivity主要负责扫描 它自定义了一个相机管理器 并进行了初始化
我们在使用扫描二维码的时候扫描后肯定需要返回二维码里的内容或者根据里面的意图来做一些操作 这个就在 onActivityResult这个方法里面 大致过程就跟bundle传值差不多 扫描后结束相机 然后把扫描到的结果给返回到当前的Activity中显示
EncodingHandler 主要负责生成二维码 这个类主要是给我们返回一张图片
二维码一共有两种颜色 一种颜色是0一种颜色是1
二维码的生成结构实际就是把字符串变为0和1的形态然后他们分别表示不同颜色 最后组成一个图片
二维码的扫描跟二维码的生成刚好相反 扫描是把两种颜色翻译成0和1 然后再转换成字符串信息给用户
生成二维码的时候是使用for循环把二维码图片画出来的
Bitmap bitmap=Bitmap.craeteBitmap(width,height,Bitmap.Config.ARGB_8888)
bitmap.setPixels(pixels,0,width,0,0,width,height);
return bitmap
因为height==width 所以图片是正方形的
这一段逻辑代码实际上就是产生了一张黑白相间的正方形图片 只不过是按照一定规律来做的以方便电脑把它解析得到正确的字符串信息
现在我们主流用的是ZXing 它是由谷歌公司开发的,用于二维码的生成和扫描 ZXing的包我们可以在gethub上面下载 因为直接下载配置文件特别麻烦,我们开发不需要那么多东西,所以直接在网上找一个简化版的ZXing的Demo使用就可以了*
但是在我们导入的时候会有点问题 因为我们需要把这个Demo变成library 才能够用我们自己的项目进行依赖操作 把它变成library后switch就不能使用了 原来的代码会报错 所以我们需要把它变成if else语句
下面是对ZXing源码的分析::
ZXing有两个最主要的类
CaptureActivity和EncodingHandler
一个是用来扫描二维码的 另一个是用来生成二维码的
里面还有三个package:camera decoding view
camera 里面的一些类主要就是对相机参数的设置
decoding主要负责解码编码
view 里面就是两个控件
CaptureActivity主要负责扫描 它自定义了一个相机管理器 并进行了初始化
我们在使用扫描二维码的时候扫描后肯定需要返回二维码里的内容或者根据里面的意图来做一些操作 这个就在 onActivityResult这个方法里面 大致过程就跟bundle传值差不多 扫描后结束相机 然后把扫描到的结果给返回到当前的Activity中显示
EncodingHandler 主要负责生成二维码 这个类主要是给我们返回一张图片
二维码一共有两种颜色 一种颜色是0一种颜色是1
二维码的生成结构实际就是把字符串变为0和1的形态然后他们分别表示不同颜色 最后组成一个图片
二维码的扫描跟二维码的生成刚好相反 扫描是把两种颜色翻译成0和1 然后再转换成字符串信息给用户
生成二维码的时候是使用for循环把二维码图片画出来的
Bitmap bitmap=Bitmap.craeteBitmap(width,height,Bitmap.Config.ARGB_8888)
bitmap.setPixels(pixels,0,width,0,0,width,height);
return bitmap
因为height==width 所以图片是正方形的
这一段逻辑代码实际上就是产生了一张黑白相间的正方形图片 只不过是按照一定规律来做的以方便电脑把它解析得到正确的字符串信息
相关文章推荐
- 分分钟钟搞定二维码生成以及扫描
- Android 中生成普通二维码、中心Logo 二维码、以及扫描解析二维码
- 基于Zxing的二维码、条形码的扫描以及二维码的生成(简洁高效)
- iOS系统自带二维码的生成以及扫描
- Android中的Zxing实现二维码的生成以及扫描
- Android之ZXing扫描二维码以及生成二维码
- iOS自带扫描 和 生成二维码
- 实现手机扫描二维码页面登录,类似web微信-第二篇,关于二维码的自动生成
- 二维码生成以及条形码生成
- 使用zxing生成QRCode二维码,在Android的webview中调用条形码扫描(转)
- IOS 利用zBar二维码的生成和扫描
- 二维码生成与扫描
- 叙述二维码的原理以及如何使用google api和PHP QR Code来生成二维码
- 多线程操作--模拟二维码的扫描以及定期存储
- 条形码和二维码 生成以及打印
- 生成二维码和扫描二维码demo分享
- 论坛源码推荐(3月28日):支持浮点值的评分组件 二维码生成扫描
- java 二维码原理以及用java实现的二维码的生成、解码
- 二维码的生成(可设置大小)以及插件下载地址
- 阐述二维码的原理以及使用google api和PHP QR Code来生成二维码