phonegap-plugin-barcodescanner.git 然后在要页面上添加调用的按钮
前言 最近公司的Android项目需要用到摄像头做条码或二维码的扫描,Google一下,发现一个以Apache License 2.0 开源的 ZXing项目。 这个是启动Activity 也就是扫描器(如果是第一安装,它还会跳转到帮助界面)。 CaptureActivityHandler 解码处理类,负责调用另外的线程进行解码。 1 @Override 2 publicvoid onCreate(Bundle savedInstanceState) { 3 super.onCreate(savedInstanceState); SurfaceHolder接口实现 initCamera () 方法用于初始化摄像头,如果排除了所有的error ,运行项目时就可以看到大致扫描界面了。 handler = new CaptureActivityHandler(this, decodeFormats,characterSet) 用于进行扫描解码处理。
在APP开发中,常遇到二维码扫描功能和生成二维码的需求。Android大部分是集成了zxing这个开源项目的扫码功能。 demo首页 1.2扫描界面 ? 扫描界面 可以根据需求修改,我实际项目中界面截图如下: ? 实际项目截图 1.3生成二维码 ? com.google.zxing.decoding.CaptureActivityHandler com.google.zxing.decoding.DecodeHandler com.google.zxing.view.ViewfinderView 3. View view) { switch (view.getId()) { case R.id.openQrCodeScan: //打开二维码扫描界面 源码分析 5.1打开二维码扫描界面 //打开二维码扫描界面 if(CommonUtil.isCameraCanUse()){
自iOS7以后,iOS扫描二维码不需要借助于第三方框架了,苹果在AVFoundation中原生支持了扫描二维码的API,主要涉及到5个类,这5个类在自定义相机或者视频时也用得上,网上有很多介绍,这5个类分别为 界面似乎没什么关系,但是实际开发中,扫描界面一般都是设计的比较人性化的,如支付宝、微信等,中间都有一个小框,有个线上下扫,这个其实就是用UI来配合扫描二维码,给用户一种好的体验。 [[NSNotificationCenter defaultCenter] removeObserver:self]; } #pragma mark - 代理方法 /** * 如果扫描到了二维码 扫描二维码.gif 总结 一、遇到的坑 1、设置了AutoLayout,想要做动画,这时候动画放在viewDidAppear中执行,并且不要用bounds,frame来改变动画,要用具体的约束,但是直接在 二、参考文献 1、iOS开发系列--音频播放、录音、视频播放、拍照、视频录制 2、iOS开发 - 二维码的扫描 3、iOS二维码扫描与生成(优化启动卡顿) 三、源代码
DEMO,出于对二维码扫描的兴趣而做的,只是一直未运用到实际的工作中,就当是玩泥巴了! 目录 扫描二维码的逻辑 Zxing介绍 实现 主要代码 一. 扫描二维码的逻辑 所谓的二维码,是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形,用于记录数据符号信息的东西; 在代码编制上巧妙的利用构成计算机内部逻辑基础的0和1比特流的概念, 使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备或光电扫描设备自动识读以实现信息自动处理; 二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息; 二维码相对于条形码的优势就是省空间 Zxing可以实现使用手机的内置的摄像头完成条形码和二维码的扫描与解码。 目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。
DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>css3-scanner</title> <style background: linear-gradient(180deg, rgba(0, 255, 51, 0) 43%, #00ff33 211%); border-bottom: 3px angle:before { content: ''; display: block; position: absolute; width: 3vw ; height: 3vw; border: 0.2rem solid transparent; } .qr-scanner .box:after,
最近刚好在学习 React Native 想搞个扫描条形码,二维码的小应用,因为涉及硬件接口,而且自己本身并没有原生开发背景,踩了几个坑,记录一下。 扫描二维码 首先当然是 google 一下看看是否有现成的 React Native 库支持二维码,感谢最大的同性交友网站 GitHub,还真有两个:react-native-camera 和 react-native-barcodescanner 又一次按下运行键,这次显示构建成功,在 iOS 设备上信任了开发证书之后,打开程序,因为我是一打开程序就开始扫描的,于是 Crash 了。
引用到项目中 3. 添加引用 4. AppDelegate中添加下面代码 5. 在需要使用扫描的controller中实现ZBarReaderViewDelegate 6.
简介 cameraX已经出来有一段时间了,现在已经从alpha版本到现在的beta3版本。 仓库地址 究极花里胡哨camreaX二维码扫描 二维码扫描小优化 去除zxing额外支持的格式(有争议的点,其实并没有特别大的差距) MultiFormatReader的decodeWithState 扫描区域放大到全局 去除项目中的扫描区域,将图像识别区域放大到整张区域,这样增加了二维码的边界情况,不需要特意的对准屏幕的扫描区域。 ,然后构建一个线程池专门去处理二维码扫描的分析器。 = 双击放大 当前二维码扫描中没有调整焦距的功能,所以我们在这次调整中对其进行了一次双击放大的开发。 通过监控双击事件实现对应监听。
前言 现在的应用中二维码扫描已经成为一个应用必不可少的功能,现在大部分Android二维码扫描都是基于zxing和Zbar,这文章就来介绍一下基于zxing的二维码扫描。先看下效果图 ? 效果图 ---- 虽然现在的关于二维码的文章有很多,但是很多都是交我们怎么使用,在使用的时候我也遇到了很多问题,比如。UI界面太丑,没有用的文件太多,扫描太慢,版本太老。 本Demo使用的是3.x的是比较新的版本。我用的小米2A(api=19)亲测在正常情况下扫描时间和QQ微信差不多,我的界面是类防QQ的也是比较美观的。那么我们看看如何使用和文件的作用。 扫描图片二维码的点击事件也比较简单我们自需要打开相册。并用startActivityForResult启动相册。 因为生成二维码并不依赖扫描的Activity,所以不管在那里我们只要调用createQRcode,就能生成二维码。
仓库地址 究极花里胡哨camreaX二维码扫描 二维码扫描小优化 去除zxing额外支持的格式(有争议的点,其实并没有特别大的差距) MultiFormatReader的decodeWithState( 扫描区域放大到全局 去除项目中的扫描区域,将图像识别区域放大到整张区域,这样增加了二维码的边界情况,不需要特意的对准屏幕的扫描区域。 将相机升级到jetpack的CameraX 谷歌已经在官方提供了对于camera2的整合包,集成在CamreaX,而且CameraX内部有对于图片分析的接口,所以我们在这个接口中会对原来的二维码扫描进行一次转移 ,然后构建一个线程池专门去处理二维码扫描的分析器。 return true } } return false } 双击放大 当前二维码扫描中没有调整焦距的功能,所以我们在这次调整中对其进行了一次双击放大的开发。
二维码可以用网址、数字、字母、汉字等表示, 通过扫描二维码,来表示一些特定的信息。最近有朋友咨询,扫描二维码,内容是用表格呈现出来的,该如何制作? 如下图: 二维码支持网址、字母、汉字、文字等,二维码里面不带任何的排版样式,如果想要扫描二维码显示排版及表格样式的话,可以做一个网页的排版,然后上传到服务器或者自己的网站上,得到一个网址,就是二维码的内容 1.可以将表格上传到服务器或者自己的网站上得到一个网址就是二维码的内容。 2.点击软件左侧的”绘制二维码”按钮,在画布上绘制一个二维码对象,双击二维码,在图形属性-条码-类型中,设置一下所需的二维码类型,这类以QR code为例。 3.在数据源中,点击”修改”按钮,删除默认数据,在下面的状态框中,手动输入你需要的网址,点击编辑-确定。 然后扫描二维码就可以显示图1表格的效果。
,涵盖了很多的扫码功能(不仅仅局限于扫描二维码...)。 在zxing中,扫描的界面即Activity已经帮我们写好了。在activity包下: ? 所以,我们启动扫描二维码的页面就有了以下代码: ? 很简单,就是启动该Activity。 (比如:四个角,扫描线,等等。。) 3.填坑 本篇文章在开始的时候,我就说了坑坑坑! 填了第一个坑,我们来填第二个: 针对于扫描时,二维码拉伸变形的问题,是因为zxing默认是针对横屏扫描的,所以,我们只需要改变x,y的计算,即横纵轴即可。 注:最近有朋友说近距离扫描二维码扫描不出,需要远一点才可以。
最近研究了一下二维码扫描,github地址(https://github.com/zxing/zxing)。本来想做个扫描相册内的二维码的,结果没做成。 二维码的解析函数大致摘抄如下: RGBLuminanceSource source = new RGBLuminanceSource(width, } catch (ReaderException re) { Toast.makeText(getApplicationContext(), "二维码解析有误 } } 由于不知道上文所述的byte[] data哪里来的导致RGBLuminanceSource 构造函数有问题,所以就一直Toast二维码解析有误
需求: 1:扫码返回的结果必须是DECA开头,否则提示非法二维码 2:扫码返回的结果必须是16位 3:支付宝,微信等其他非项目公司提供的二维码扫描均无效 正则: const reg = /^DECA a) { wx.showToast({ icon: 'none', title: '非法二维码', }) a) { wx.showToast({ icon: 'none', title: '非法二维码', })
引 随着二维码的普及,扫码功能越来越重要,比起手动输入,扫码直接获取的方式会更加的便捷和快速,在iOS7之前,实现扫码一般是使用第三方的类库,如ZBar等,iOS7之后开始自行提供扫码的框架,在AVFoundation [self.session addInput:input]; [self.session addOutput:output]; //设置扫码支持的编码格式(如下设置条形码和二维码兼容 } 其实到这里就已经实现扫描功能了,很简单对不对,我这里只是将扫描结果显示在Label上,如果是条形码就会显示数字,如果是二维码也会显示相应的内容,之后要对结果进行怎样地处理也可以自行处理,非常方便 3、优化扫描界面 上面虽然实现了扫描功能,但我们的扫描界面就是个没有按钮的拍照界面一样,非常单一,一般的扫码界面,都会有方框有线条有说明,所以我们也来实现这个界面的优化,让其更加美观和习惯。 screenBounds.size.width - 50, screenBounds.size.width - 60, 30)]; self.explainLabel.text = @"将方框对准二维码
另外一种更加便捷的是饭店推出几个热门的菜,在饭店显眼的位置放上图片和本菜的二维码,扫描二维码直接进入本菜的点单页面,这样省去了用户在页面中查找的时间。 需要填写四项内容,前缀规则默认不占用,当我们通过二维码工具或者qcodejs将普通链接转化为二维码后,调用微信扫一扫功能扫描此二维码,微信就会跳转到目标小程序的特定页面。 } 一般我们会在小程序生命周期函数onload函数中打印这个函数的默认形参option,option就是上一个页面传递过来的参数,但是这里需要注意,这是小程序内部页面之间传递参数的方式,不适用于上面扫描二维获取二维码中的参数 ,好多同学在获取二维码中的参数时容易和页面间传值获取的方式搞混。 扫描二维码进入小程序并没有发生页面间的跳转,所以并不能直接从option中获取链接中传递的参数。 那我们如何获取呢?查看官方文档: ?
需求: 1:扫码返回的结果必须是DECA开头,否则提示非法二维码 2:扫码返回的结果必须是16位 3:支付宝,微信等其他非项目公司提供的二维码扫描均无效 正则: const reg = /^DECA a) { wx.showToast({ icon: 'none', title: '非法二维码', }) a) { wx.showToast({ icon: 'none', title: '非法二维码', })
依赖安装 调用摄像头需要使用到 OpenCV 模块,而识别二维码则需要使用到 pyzbar 模块。 ) ### 显示图像 cv.imshow("img", img) ### 等待键盘输入,否则图片只展示一瞬间 cv.waitKey() ### 销毁窗口 cv.destroyAllWindows() 3、 这里可以改造为按q键退出读取 # key = cv.waitKey(10) # if key == ord('q'): # break cv.destroyAllWindows() pyzbar基本用法 识别二维码中的文字 import cv2 as cv from pyzbar import pyzbar ### 读取图片 img = cv.imread("11.png") ### 识别二维码 res = pyzbar.decode ('q'): break try: res = pyzbar.decode(frame) text = res[0].data.decode('utf-8') print(text) # 当画面中没有二维码时
有些朋友日常生活中可能需要频繁扫描二维码,或者需要频繁扫描条形码,一般情况下我们可以直接用微信进行扫描。 但是如果想记录扫描的历史,或者想对扫描的二维码、条形码进行美化、分享的话,用微信扫描就不是很方便。 下载直接在手机的应用市场里搜索:二维码和条形码生成器(⚠️ 小米、魅族、三星请在应用市场里搜索:qrbar)。 视频教程视频内容图文教程如果你想直接扫描,直接点击首页的“扫二维码/条形码”即可,如果你想扫描相册里的二维码和条形码,直接点击“从相册读取即可”。 扫描完成后,就会展示结果,如果扫描的是wifi类型的二维码,还支持直接链接wifi,如果扫描的是联系人类型的二维码,支持一键加入通讯录,还有更多好用功能等你来用。