ZBar的使用  
2014-09-23 08:32
162 查看
原文地址: ">ZBar的使用 作者:子木潇雨一、基本介绍:
引用:http://blog.csdn.net/miracle_of_thinking/article/details/7576532
如今二维码随处可见,无论是实物商品还是各种礼券都少不了二维码的身影。而手机等移动设备又成为二维码的一个很好的应用平台,不管是生成二维码还是扫码二维码。
下面介绍一下如何在苹果iOS设备上使用二维码:
1. 扫描二维码(解码)
扫描二维码的开源库有很多如 ZBar、ZXing等。在此以ZBar作为例子构建二维码扫码应用。
首先在github上下载ZBar SDK,地址https://github.com/bmorton/ZBarSDK。
打开压缩包,其中有ZBarSDK 文件夹,将ZBarSDK 文件夹包含到项目中来。
" />(Finder)
" />(XCode)
其中包含一个libzbar.a的静态库。
接着往项目中添加Framework框架及链接库(动态库、静态库)。在项目属性TARGETS?Summary 中找到Linked
Frameworks and Libraries,添加AVFoundation.framwork,
CoreMedia.framework, CoreVideo.framework, libiconv.dylib 和libzbar.a
(如图)
" />
" />
然后在使用的地方引入头文件#import "ZBarSDK.h"。
调用ZBar的类必须实现ZBarReaderDelegate协议,如:UIViewController 。
在- (void) imagePickerController: (UIImagePickerController*) reader
didFinishPickingMediaWithInfo: (NSDictionary*)
info最后在协议方法中通过info获取结果值。
[cpp]
view plaincopy
id results = [info objectForKey: ZBarReaderControllerResults];
ZBarSymbol *symbol = nil;
for(symbol in results)
// EXAMPLE: just grab the first barcode
break;
// EXAMPLE: do something useful with the barcode data
resultText.text = symbol.data;
文档地址http://zbar.sourceforge.net/iphone/sdkdoc/
二维码开源库ZXing的加载过程与此类似,但是ZXing默认并不支持一维码的扫描,而ZBar是支持的。
2. 生成二维码(编码)
在生成二维码的库中QREncoder
比较好用。ZXing库的android版本是带java版的编码库的但不知为何没有C++版的解码库,故在ios上也没法解码,如果应用中既要生成二维码又要扫描二维码就有可能要带两套不同的库。
首先同样是在github 上下载到SDK库
地址https://github.com/jverkoey/ObjQREncoder
解压后将源码库直接包含到项目中来(如图)
" />
" />
设置头文件路径,在TARGET中building settings ? Search Path
" />
当然也可以直接将库编译成静态库libQREcoder.a然后在包含进来
接着在Frameworks 中添加静态库的引用
" />
" />
然后在使用该库的地方包含头文件
#import
注意:二维码显示的时候有可能会因为图像的大小而做调整,所以需要包含系统库QuartzCore.framework
最后就可以调用编码库了:
[cpp]
view plaincopy
UIImage* image = [QREncoder encode:@"http://www.baidu.com/"];
" />
二、使用ZBar在ios实现条形码扫描功能
引用:http://wangjun.easymorse.com/?p=1199
免费的条形码是zbar,其使用地址是:http://zbar.sourceforge.net/iphone/sdkdoc/install.html
下面是实现的效果:
" />
" />
利用条形码,可以简单的得到二维码的值.
具体的实现过程如下:
首先下载zbr的sdk。
然后,创建工程,iphone.scanbar。
第三,把下载的ZBarSDK添加到工程中。
第四,然后添加.framework到工程中,注意也要把ZBarSDK文件中的libzbar.a加到工程中。
第五,在需要的地方引入头文件#import "ZBarSDK.h"。
" />
第五,然后添加一个按钮,处理效果。
#pragma mark –
#pragma mark onClickButton
-(IBAction)onButton:(id)sender
{
ZBarReaderViewController *reader = [ZBarReaderViewController
new];
reader.readerDelegate = self;
ZBarImageScanner *scanner = reader.scanner;
[scanner
setSymbology: ZBAR_I25
config: ZBAR_CFG_ENABLE
to: 0];
[self
presentModalViewController: reader
animated: YES];
[reader
release];
}
- (void) imagePickerController: (UIImagePickerController*)
reader
didFinishPickingMediaWithInfo: (NSDictionary*) info
{
id results
=
[info
objectForKey: ZBarReaderControllerResults];
ZBarSymbol
*symbol = nil;
for(symbol
in results)
break;
NSLog(@"===%@",symbol.data);
resultText.text = symbol.data;
resultImage.image =
[info
objectForKey: UIImagePickerControllerOriginalImage];
[reader
dismissModalViewControllerAnimated: YES];
}
源代码:http://easymorse-iphone.googlecode.com/svn/trunk/iphone.scanbar/
引用:http://blog.csdn.net/miracle_of_thinking/article/details/7576532
如今二维码随处可见,无论是实物商品还是各种礼券都少不了二维码的身影。而手机等移动设备又成为二维码的一个很好的应用平台,不管是生成二维码还是扫码二维码。
下面介绍一下如何在苹果iOS设备上使用二维码:
1. 扫描二维码(解码)
扫描二维码的开源库有很多如 ZBar、ZXing等。在此以ZBar作为例子构建二维码扫码应用。
首先在github上下载ZBar SDK,地址https://github.com/bmorton/ZBarSDK。
打开压缩包,其中有ZBarSDK 文件夹,将ZBarSDK 文件夹包含到项目中来。
" />(Finder)
" />(XCode)
其中包含一个libzbar.a的静态库。
接着往项目中添加Framework框架及链接库(动态库、静态库)。在项目属性TARGETS?Summary 中找到Linked
Frameworks and Libraries,添加AVFoundation.framwork,
CoreMedia.framework, CoreVideo.framework, libiconv.dylib 和libzbar.a
(如图)
" />
" />
然后在使用的地方引入头文件#import "ZBarSDK.h"。
调用ZBar的类必须实现ZBarReaderDelegate协议,如:UIViewController 。
在- (void) imagePickerController: (UIImagePickerController*) reader
didFinishPickingMediaWithInfo: (NSDictionary*)
info最后在协议方法中通过info获取结果值。
[cpp]
view plaincopy
id results = [info objectForKey: ZBarReaderControllerResults];
ZBarSymbol *symbol = nil;
for(symbol in results)
// EXAMPLE: just grab the first barcode
break;
// EXAMPLE: do something useful with the barcode data
resultText.text = symbol.data;
文档地址http://zbar.sourceforge.net/iphone/sdkdoc/
二维码开源库ZXing的加载过程与此类似,但是ZXing默认并不支持一维码的扫描,而ZBar是支持的。
2. 生成二维码(编码)
在生成二维码的库中QREncoder
比较好用。ZXing库的android版本是带java版的编码库的但不知为何没有C++版的解码库,故在ios上也没法解码,如果应用中既要生成二维码又要扫描二维码就有可能要带两套不同的库。
首先同样是在github 上下载到SDK库
地址https://github.com/jverkoey/ObjQREncoder
解压后将源码库直接包含到项目中来(如图)
" />
" />
设置头文件路径,在TARGET中building settings ? Search Path
" />
当然也可以直接将库编译成静态库libQREcoder.a然后在包含进来
接着在Frameworks 中添加静态库的引用
" />
" />
然后在使用该库的地方包含头文件
#import
注意:二维码显示的时候有可能会因为图像的大小而做调整,所以需要包含系统库QuartzCore.framework
最后就可以调用编码库了:
[cpp]
view plaincopy
UIImage* image = [QREncoder encode:@"http://www.baidu.com/"];
" />
二、使用ZBar在ios实现条形码扫描功能
引用:http://wangjun.easymorse.com/?p=1199
免费的条形码是zbar,其使用地址是:http://zbar.sourceforge.net/iphone/sdkdoc/install.html
下面是实现的效果:
" />
" />
利用条形码,可以简单的得到二维码的值.
具体的实现过程如下:
首先下载zbr的sdk。
然后,创建工程,iphone.scanbar。
第三,把下载的ZBarSDK添加到工程中。
第四,然后添加.framework到工程中,注意也要把ZBarSDK文件中的libzbar.a加到工程中。
第五,在需要的地方引入头文件#import "ZBarSDK.h"。
" />
第五,然后添加一个按钮,处理效果。
#pragma mark –
#pragma mark onClickButton
-(IBAction)onButton:(id)sender
{
ZBarReaderViewController *reader = [ZBarReaderViewController
new];
reader.readerDelegate = self;
ZBarImageScanner *scanner = reader.scanner;
[scanner
setSymbology: ZBAR_I25
config: ZBAR_CFG_ENABLE
to: 0];
[self
presentModalViewController: reader
animated: YES];
[reader
release];
}
- (void) imagePickerController: (UIImagePickerController*)
reader
didFinishPickingMediaWithInfo: (NSDictionary*) info
{
id results
=
[info
objectForKey: ZBarReaderControllerResults];
ZBarSymbol
*symbol = nil;
for(symbol
in results)
break;
NSLog(@"===%@",symbol.data);
resultText.text = symbol.data;
resultImage.image =
[info
objectForKey: UIImagePickerControllerOriginalImage];
[reader
dismissModalViewControllerAnimated: YES];
}
源代码:http://easymorse-iphone.googlecode.com/svn/trunk/iphone.scanbar/
相关文章推荐
- Total Video视频转换软件使用教程
- 新手必用 iPhone iBus详细使用教程
- 检测文件修改时间 (awk 使用自定…
- 使用UCenter整合应用 – 用户注册
- 使用flashback database找回被误删…
- 不使用ISAPI或IIS wildcard实现不带扩展名URL的转向
- Android WebView的使用
- 不使用ISAPI或IIS wildcard实现不带扩展名URL的转向
- XML 问题: 超越DOM(轻松使用 DOM 的技巧和诀窍)
- pl/sql   初使用
- iPhone必用 installer软件详细使用教程
- 新手终极宝典 iTunes使用教程精华大全
- iPhone LumaQQ聊天软件详细使用教程
- 把 映射到xml中本来就该使用&#160来代替
- Touchpad Windows版详细使用教程
- 新手必看 WinSCP软件详细使用教程
- 抛弃WinSCP 教你使用CuteFTP传输文件
- ZiPhone GUI一键软破工具详细使用教程
- [转]vim ctags使用方法
- javascript 方法的使用