iOS 使用ZBarSDK扫描条形码和二维码

ZBarSDK,一个比较优秀的开源项目,使用起来也很简单。

ZBarSDK是一个开源的SDK,可从这里下载到源码,该SDK实现了识别和读取各种条形码,包括EAN-13/UPC-A, UPC-E, EAN-8,
Code 128, Code 39, Interleaved 2 of 5 和 QR Code。

帮助文档:http://zbar.sourceforge.net/iphone/sdkdoc/index.html

Step1.使用ZBarSDK 需要导入的framework

1.AVFoundation.framework

2.CoreMedia.framework

3.CoreVideo.framework

4.QuartzCore.framework

5.libiconv.dylib

Step2.在ViewController.h 导入#import "ZBarSDK.h"

Step3.在ViewController.h 继承 <ZBarReaderDelegate>协议

Step4.写代码:

ViewController.h

1 #import
<uikit uikit.h="">
2 #import
"ZBarSDK.h"
3  
4 @interface
ViewController : UIViewController <zbarreaderdelegate> @property (weak, nonatomic) IBOutlet UIImageView *imageView;
5 -
(IBAction)scan:(id)sender;
6 @property
(weak, nonatomic) IBOutlet UILabel *label;
7  
8  
9 @end</zbarreaderdelegate></uikit>

ViewController.m

01 #import
"ViewController.h"
02 #import
"ZBarSDK.h"
03  
04 @interface
ViewController ()
05  
06 @end
07  
08 @implementation
ViewController
09  
10 -
(
void)viewDidLoad
11 {
12     [super
viewDidLoad];
13     //
Do any additional setup after loading the view, typically from a nib.
14 }
15  
16 -
(
void)didReceiveMemoryWarning
17 {
18     [super
didReceiveMemoryWarning];
19     //
Dispose of any resources that can be recreated.
20 }
21  
22  
23 -
(IBAction)scan:(id)sender {
24      
25      
26     ZBarReaderViewController
* reader = [ZBarReaderViewController 
new];
27     reader.readerDelegate
= self;
28     ZBarImageScanner
* scanner = reader.scanner;
29     [scanner
setSymbology:ZBAR_I25 config:ZBAR_CFG_ENABLE to:0];
30  
31     reader.showsZBarControls
= YES;
32      
33     [self
presentViewController:reader animated:YES completion:nil];
34    
35      
36 }
37  
38  
39 -(void)imagePickerController:(UIImagePickerController
*)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
40 {
41     id<nsfastenumeration>
results = [info objectForKey:ZBarReaderControllerResults];
42     ZBarSymbol
* symbol;
43     for(symbol
in results)
44         break;
45      
46     _imageView.image
= [info objectForKey:UIImagePickerControllerOriginalImage];
47      
48     [picker
dismissViewControllerAnimated:YES completion:nil];
49      
50     _label.text
= symbol.data;
51 }
52  
53  
54 @end</nsfastenumeration>

在界面上放置一个UIImageView/UILabel/UIButton, UIImageView 用于显示扫描到的图像,UILabel用于显示扫描到的信息,UIButton 用于响应事件。

布局如下:

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-07-29 09:48:08

iOS 使用ZBarSDK扫描条形码和二维码的相关文章

使用ZXing扫描条形码和二维码

主要是介绍使用ZXing库进行条形码和二维码的扫描 本帖里面使用的库是别人精简以后的 在代码注释里面作者 - Ryan.Tang 这里主要是介绍一下关于扫描界面 下面是关于属性的介绍 ScanView核心源码解析 ScanView 自定义属性 <declare-styleable name="ScanView"> <!--指定扫描区域的背景图片--> <attr name="scanBackground" format="re

iOS自带扫描 和 生成二维码

1.二维码生成 libqrencode介绍:是一个用C语言编写的用来解析二维条形码(QRCode)的程序库,libqrencode通过手机的CCD摄像头来扫描二维条形码. 导入libqrencode库,下面直接代码: #import <Foundation/Foundation.h> @interface QRCodeGenerator : NSObject + (UIImage *)qrImageForString:(NSString *)string imageSize:(CGFloat)

条形码、二维码扫描

条形码.二维码扫描 使用了zxing扫描框架,能够扫描条形码和二维码的信息,直接拷贝就能使用,如果项目中需要调用摄像头扫描的就可以直接使用了.  下载地址:http://www.devstore.cn/code/info/826.html  运行截图:   

Android基于Google Zxing实现二维码/条形码扫描、生成二维码/条形码

 二维码/条形码生成器 二维码/条形码扫描器 一.二维码与条形码工作原理 目前的很多应用上都有扫码功能,当时微信推出二维码扫码功能时,觉得imagine,通过一张简单的图片就能扫描添加还有,还有分享名片功能(也是一张二维码图片,识别扫描). 下面小编将通过文章主要介绍QRCode方面技术. QRCode是被广泛应用的一种二维码,解码速度快.二维码相对于条形码来说,二维码的存储数据量更大,空间利用率高,有一定的容错性. 二维码原理介绍: 二维码是用某种特定的几何图形按一定的规律在平面上分布的黑

使用ZBarSDK生成和读取二维码

1.下载ZBarSDK,下载地址:http://zbar.sourceforge.net/iphone/index.html2.新建项目,导入ZBarSDK,并添加下列frameworkCoreMedia.frameworkCoreVideo.frameworkAVFoundation.frameworkQuartzCore.frameworklibiconv.dyliblibzbar.a3.扫瞄二维码(全屏)(1)在viewController界面导入头文件 #import"ZBarSDK.h

用C#实现的条形码和二维码编码解码器

转自:http://www.cnblogs.com/tuyile006/archive/2013/01/16/2863367.html 本篇介绍可以在C#中使用的1D/2D编码解码器.条形码的应用已经非常普遍,几乎所有超市里面的商品上面都印有条形码:二维码也开始应用到很多场合,如火车票有二维码识别.网易的首页有二维码图标,用户只需要用手机扫描一下就可以看到手机版网易的网址,免去了输入长串字符的麻烦. 条形码的标准: 条形码的标准有ENA条形码.UPC条形码.二五条形码.交叉二五条形码.库德巴条形

[转]用C#实现的条形码和二维码编码解码器

条形码的标准: 条形码的标准有ENA条形码.UPC条形码.二五条形码.交叉二五条形码.库德巴条形码.三九条形码和128条形码等,而商品上最常使用的就是EAN商品条形码.EAN商品条形码亦称通用商品条形码,由国际物品编码协会制定,通用于世界各地,是目前国际上使用最广泛的一种商品条形码.我国目前在国内推行使用的也是这种商品条形码.EAN商品条形码分为EAN-13(标准版)和EAN-8(缩短版)两种. 二维码的编码标准: 全球现有的二维码多达200种以上,其中常见的技术标准有PDF417(美系标准),

C#---生成条形码,二维码,分界线并打印

分享一个可以生成条形码,二维码的dll,不多说,直接上代码: Printer: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Drawing; 7 using ThoughtWorks.QRCode.Codec; 8 9 namespace PrintFun 10

基于opencv3.0和zbar下的条形码与二维码识别

其中对条码与二维码的识别分为以下4个步骤 1. 利用opencv和Zbar(或者Zxing)对标准的条形码图片(即没有多余背景干扰,且图片没有倾斜)进行解码,将解码信息显示出来,并与原始信息对比. 2. 利用opencv和Zbar(或者Zxing)对标准的QR二维码图片(即没有多余背景干扰,且图片没有倾斜)进行解码,将解码信息显示出来,并与原始信息对比. 3. 对非标准条形码,进行定位,然后用Zbar(或者Zxing)解码显示. 4. 对非标准的QR二维码图片,进行定位,然后用Zbar(或者Zx