二维码ZBar之ZBarReaderView

简介:

参考:http://www.chinatarena.com/Html/iospeixun/201301/3985.html   http://blog.csdn.net/chenyong05314/article/details/8844549

当开发IOS程序中需要用到二维码识别功能的时候,zbar这个开源库估计会被不少人选择。但是关于zbar的用法,网上的资料大部分都集中在ZBarReaderViewController这个类的使用上。达内IOS培训老师在使用中,发现ZBarReaderViewController这个类使用很不灵活,比如,如果需要对界面做一些自定义的定制时会变得很麻烦。在zbar的头文件中,我发现了ZBarReaderView这个类,直觉告诉我这个类的使用应该是比较灵活。google之后发现针对这个类的使用说明比较少,几乎没有,只能自己动手了,在下载了zbar的源码稍作研究后,终于搞定了ZBarReaderView的用法。
用法
--------------------------------------------------------------------------------
ZBarReaderView是UIView的子类,所以我们可以将其当做一个view来设置大小并放置到我们自己界面的任何地方。初始化ZBarReaderView的代码如下:
ZBarReaderView *readview = [ZBarReaderView new]; // 初始化 readview.frame = CGRectMake(0, 0, 320, 460); // 改变frame readview.readerDelegate = self; // 设置delegate readview.allowsPinchZoom = NO; // 不使用Pinch手势变焦 [self.view addSubview:readview]; 其中第四行的默认值是YES。使用ZBarReaderView的类要实现 ZBarReaderViewDelegate代理。
添加上述代码后,只是将ZBarReaderView添加到了我们的控制器视图中,摄像头并没有启动,readview也不会显示视频流。ZBarReaderView中有两个方法可以很方便的开启和关闭摄像头。
[readview start]; // 开始扫描 [readview stop]; // 停止扫描 你可以在需要的时候调用这两个方法来控制摄像头的开启和关闭。这样,如果摄像头在开启状态并且扫描到二维码或者条形码以后,ZBarReaderViewDelegate的以下代理函数就会被调用。并可以在其中做一些处理。
- (void)readerView:(ZBarReaderView *)readerView didReadSymbols:(ZBarSymbolSet *)symbols fromImage:(UIImage *)image{ // 得到扫描的条码内容 const zbar_symbol_t *symbol = zbar_symbol_set_first_symbol(symbols.zbarSymbolSet); NSString *symbolStr = [NSString stringWithUTF8String: zbar_symbol_get_data(symbol)]; if (zbar_symbol_get_type(symbol) == ZBAR_QRCODE) { // 是否QR二维码 } } 你可能已经注意到ZBarReaderViewDelegate代理函数中的fromImage:(UIImage *)image这个参数了。没错,ZBarReaderView可以调用摄像头来完成拍照功能。你需要按以下方法调用。
[readview.captureReader captureFrame]; 上述代码执行后,ZBarReaderViewDelegate的代理函数同样会被调用,其中的fromImage:(UIImage *)image就是方法调用时摄像头捕获的图像。

相关文章
|
iOS开发
iOS - QRCode 二维码
1、QRCode 在 iOS7 以前,在 iOS 中实现二维码和条形码扫描,我们所知的有,两大开源组件 ZBar 与 ZXing。iOS7 之后可以利用系统原生 API 生成二维码, iOS8 之后可以生成条形码, 系统默认生成的颜色是黑色。
2519 0
|
边缘计算 并行计算 算法
Opencv+ZBar识别条形码、二维码
Opencv+ZBar识别条形码、二维码
605 0
Opencv+ZBar识别条形码、二维码
28用zxing对二维码的解析
28用zxing对二维码的解析
98 0
|
开发工具 计算机视觉
配置zbar识别二维码(转载)
原文地址:http://blog.csdn.net/dcrmg/article/details/52108258  二维码解码器Zbar+VS2012开发环境配置 Zbar条码解码器是一个开源的二维码(包括条形码)解码器,可以识别来至于视频流,图像文件、手持扫码器和视频设备(如摄像头)等二维码识别,支持EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, QR Code(二维码)等常用编码方式的条形码/二维码。
2439 0
|
移动开发
H5 使用jsBarcode qrcodejs 生成二维码 条形码
H5 使用jsBarcode qrcodejs 生成二维码 条形码
H5 使用jsBarcode qrcodejs 生成二维码 条形码
|
程序员 C# 图形学
C# 生成二维码,彩色二维码,带有Logo的二维码及普通条形码
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默。我眼中的程序员大多都不爱说话,默默承受着编程的巨大压力,除了技术上的交流外,他们不愿意也不擅长和别人交流,更不乐意任何人走进他们的内心!    废话少说,咱直接进入正题:    目前来说,比较流行的二维码生成方式有两种:一种是:QrCode.Net和谷歌的Zxing.Net,我个人比较倾向于使用ZXing.Net,今天本篇博客主要讲解Zxing.Net的使用。
1886 0
|
iOS开发
iOS QRCode(二维码)
实现思路 输入设备(用来获取外界信息) 摄像头, 麦克风, 键盘 输出设备 (将收集到的信息, 做解析, 来获取收到的内容) 会话session (用来连接输入和输出设备) 特殊的layer (展示输入设备所采集的信息) 1.
847 0