使用ZBar来读取条形码和二维码的方法
版权声明:本文为博主原创文章,未经博主允许不得转载。
1.使用ZBar项目。下载地址是: http://zbar.sourceforge.net/iphone/index.html
2.新建一个项目。
3.导入 ZBar的sdk。把ZBar SDK的目录拉入项目,然后选中copy选项
4.在项目文件的target中加入 以下framework
5.在appDelegate文件中加入 标记部分的代码
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- {
- self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
- // Override point for customization after application launch.
- self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];
- self.window.rootViewController = self.viewController;
- [self.window makeKeyAndVisible];
- // force view class to load so it may be referenced directly from NIB
- [ZBarReaderView class];
- return YES;
- }
注意此代码:
- // force view class to load so it may be referenced directly from NIB
- [ZBarReaderView class];
6.在.h文件中加入 ZBarReaderViewDelegate的实现,代码如下:
- //
- // ViewController.h
- // FootSafety
- //
- // Created by 泽宇 徐 on 12-6-12.
- // Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
- //
- #import <UIKit/UIKit.h>
- #import "ZBarSDK.h"
- @interface ViewController : UIViewController<ZBarReaderViewDelegate>
- {
- IBOutlet UILabel * label ;
- ZBarReaderView *readerView;
- ZBarCameraSimulator *cameraSim;
- }
- @property(nonatomic,retain) UILabel * label ;
- @property (nonatomic, retain) IBOutlet ZBarReaderView *readerView;
- @end
7.在.m文件中要实现的主要方法是:
- - (void) readerView: (ZBarReaderView*) view
- didReadSymbols: (ZBarSymbolSet*) syms
- fromImage: (UIImage*) img
- {
- // do something useful with results
- for(ZBarSymbol *sym in syms) {
- self.label.text = sym.data;
- break;
- }
- }
这里是功能是读取照片信息,把条码放如label显示
- -(void) viewDidAppear:(BOOL)animated
- {
- // run the reader when the view is visible
- [readerView start];
- }
这个是在显示视图的时候,启动摄像头,开始扫描
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- // Do any additional setup after loading the view, typically from a nib.
- // the delegate receives decode results
- readerView.readerDelegate = self;
- // you can use this to support the simulator
- if(TARGET_IPHONE_SIMULATOR) {
- cameraSim = [[ZBarCameraSimulator alloc]
- initWithViewController: self];
- cameraSim.readerView = readerView;
- }
- }
在初始化的时候,设置托管。
.m文件所有内容是:
- //
- // ViewController.m
- // FootSafety
- //
- // Created by 泽宇 徐 on 12-6-12.
- // Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
- //
- #import "ViewController.h"
- @interface ViewController ()
- @end
- @implementation ViewController
- @synthesize label;
- @synthesize readerView;
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- // Do any additional setup after loading the view, typically from a nib.
- // the delegate receives decode results
- readerView.readerDelegate = self;
- // you can use this to support the simulator
- if(TARGET_IPHONE_SIMULATOR) {
- cameraSim = [[ZBarCameraSimulator alloc]
- initWithViewController: self];
- cameraSim.readerView = readerView;
- }
- }
- -(void) viewDidAppear:(BOOL)animated
- {
- // run the reader when the view is visible
- [readerView start];
- }
- - (void) readerView: (ZBarReaderView*) view
- didReadSymbols: (ZBarSymbolSet*) syms
- fromImage: (UIImage*) img
- {
- // do something useful with results
- for(ZBarSymbol *sym in syms) {
- self.label.text = sym.data;
- break;
- }
- }
- - (void)viewDidUnload
- {
- [super viewDidUnload];
- // Release any retained subviews of the main view.
- }
- - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
- {
- return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
- }
- -(void) dealloc
- {
- [self.readerView release];
- [self.label release];
- [super dealloc];
- }
- @end
在ViewController.xib文件中 增加一个view,并且修改view的类是ZBarReaderView ,并且指向 .h文件中定义的
- ZBarReaderView *readerView;
版权声明:本文为博主原创文章,未经博主允许不得转载。 .使用ZBar项目。下载地址是: http://zbar.sourceforge.net/iphone/index.html .新建一个项目。 .导入 ZBar的sdk。把ZBar SDK的目录拉入项目,然后选中copy选项 .在项目文件的target中加入 以下framework .在appDelegate文件中加入 标记部分的代码
[cpp] view plain copy
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible]; // force view class to load so it may be referenced directly from NIB
[ZBarReaderView class]; return YES;
}
注意此代码: [cpp] view plain copy
// force view class to load so it may be referenced directly from NIB
[ZBarReaderView class]; .在.h文件中加入 ZBarReaderViewDelegate的实现,代码如下:
[cpp] view plain copy
//
// ViewController.h
// FootSafety
//
// Created by 泽宇 徐 on 12-6-12.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
// #import <UIKit/UIKit.h>
#import "ZBarSDK.h" @interface ViewController : UIViewController<ZBarReaderViewDelegate>
{
IBOutlet UILabel * label ;
ZBarReaderView *readerView;
ZBarCameraSimulator *cameraSim;
} @property(nonatomic,retain) UILabel * label ;
@property (nonatomic, retain) IBOutlet ZBarReaderView *readerView; @end .在.m文件中要实现的主要方法是: [html] view plain copy
- (void) readerView: (ZBarReaderView*) view
didReadSymbols: (ZBarSymbolSet*) syms
fromImage: (UIImage*) img
{
// do something useful with results
for(ZBarSymbol *sym in syms) {
self.label.text = sym.data;
break;
}
} 这里是功能是读取照片信息,把条码放如label显示 [html] view plain copy
-(void) viewDidAppear:(BOOL)animated
{
// run the reader when the view is visible
[readerView start];
} 这个是在显示视图的时候,启动摄像头,开始扫描 [html] view plain copy
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib. // the delegate receives decode results
readerView.readerDelegate = self; // you can use this to support the simulator
if(TARGET_IPHONE_SIMULATOR) {
cameraSim = [[ZBarCameraSimulator alloc]
initWithViewController: self];
cameraSim.readerView = readerView;
} } 在初始化的时候,设置托管。 .m文件所有内容是:
[html] view plain copy
//
// ViewController.m
// FootSafety
//
// Created by 泽宇 徐 on 12-6-12.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
// #import "ViewController.h" @interface ViewController () @end @implementation ViewController
@synthesize label;
@synthesize readerView; - (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib. // the delegate receives decode results
readerView.readerDelegate = self; // you can use this to support the simulator
if(TARGET_IPHONE_SIMULATOR) {
cameraSim = [[ZBarCameraSimulator alloc]
initWithViewController: self];
cameraSim.readerView = readerView;
} } -(void) viewDidAppear:(BOOL)animated
{
// run the reader when the view is visible
[readerView start];
} - (void) readerView: (ZBarReaderView*) view
didReadSymbols: (ZBarSymbolSet*) syms
fromImage: (UIImage*) img
{
// do something useful with results
for(ZBarSymbol *sym in syms) {
self.label.text = sym.data;
break;
}
} - (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
} - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
} -(void) dealloc
{
[self.readerView release];
[self.label release];
[super dealloc];
} @end 在ViewController.xib文件中 增加一个view,并且修改view的类是ZBarReaderView ,并且指向 .h文件中定义的
[cpp] view plain copy
ZBarReaderView *readerView;
使用ZBar来读取条形码和二维码的方法的更多相关文章
- Java生成读取条形码和二维码图片
原文:http://www.open-open.com/code/view/1453520722495 package zxing; import com.google.zxing.BarcodeFo ...
- zbar+opencv检测图片中的二维码或条形码
zbar本身自带检测二维码条形码功能,这里使用opencv只是做一些简单的读取图片,灰度图片以及显示条形码和二维码时用到一些绘制 // barcode-qrcodescanner.cpp: 定义控制台 ...
- [转]用C#实现的条形码和二维码编码解码器
条形码的标准: 条形码的标准有ENA条形码.UPC条形码.二五条形码.交叉二五条形码.库德巴条形码.三九条形码和128条形码等,而商品上最常使用的就是EAN商品条形码.EAN商品条形码亦称通用商品条形 ...
- 基于opencv3.0和下的条形码与二维码识别
其中对条码与二维码的识别分为以下4个步骤 1. 利用opencv和Zbar(或者Zxing)对标准的条形码图片(即没有多余背景干扰,且图片没有倾斜)进行解码,将解码信息显示出来,并与原始信息对比. 2 ...
- Android之条形码、二维码扫描框架(非原创)
文章大纲 一.条形码.二维码扫描框架介绍二.条形码.二维码的区别和组成结构介绍三.条形码.二维码扫描框架应用场景四.BGAQRCode-Android框架实战五.项目源码下载六.参考文章 一.条形码. ...
- Java 创建/识别条形码、二维码
条形码(Barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符.常用于标示物品的生产国.制造厂家.商品名称.生产日期.图书分类号.邮件起止地点.类别.日期等 ...
- (整理).net实现条形码与二维码
本文由来源网络的知识点组合而成,感谢分享的作者,文章结尾处给出查询资料连接. 条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符.常见的条形码是 ...
- 实例源码--ZXing识别条形码和二维码识别源码
下载源码 技术要点: 1.ZXing库的 使用 2.识别条形码和二 维码 3.自定义视图 4.源码带有非常详 细的中文注释 ...... 详细介绍: 1.ZXing库 ZXing是个很经典的条码/ ...
- 用C#实现的条形码和二维码编码解码器
本文主要介绍可以在C#中使用的1D/2D编码解码器.条形码的应用已经非常普遍,几乎所有超市里面的商品上面都印有条形码:二维码也开始应用到很多场合,如火车票有二维码识别.网易的首页有二维码图标,用户只需 ...
随机推荐
- minishift的本地代码构建
看文档说支持,但实际尝试了下,失败 发现仍然是找github中的代码 找了半天,发现是在目录下有.git的隐含目录,然后copy到其他目录下删除,然后再试,发现仍然失败. 日志看是指定的目录并没有传入 ...
- CFR Java Decompiler 反编译
java反编译,JAD & CFR 目前我们开发中大都使用JAD进行java反编译.这个工具已经过于陈旧,最突出的问题就是经常反编译出错. 使用CFR反编译工具能够很好的解决这个问题,并且支持 ...
- [NS2]TCL语言基本语法
(来自:<NS2仿真实验-多媒体和无线网络通信>) 1. 变量(Variable)和变量替换(Variable Substitution) tcl变量是在第一次使用set的指令来指派变量的 ...
- 《大规模web服务开发技术》笔记
前段时间趁空把<大规模web服务开发技术>这本书看完了,今天用一下午时间重新翻了一遍,把其中的要点记了下来,权当复习和备忘.由于自己对数据压缩.全文检索等还算比较熟,所以笔记内容主要涉及前 ...
- Spring 自定义配置类bean
<!-- 引入配置文件 --> <bean id="propertyConfigurer" class="org.springframework.bea ...
- 虚拟机快照,克隆,静态ip地址的设置(centos 6.5)
一.快照 例如,当我们在虚拟机上做实验或是作测试时,难免碰到一些不熟悉的地方,此时做个快照,备份一下当前的系统状态,一旦操作错误,可以很快还原到出错前的状态,完成实验,最终避免一步的失误导致重新开始整 ...
- 基于c++11新标准开发一个支持多线程高并发的网络库
背景 新的c++11标准出后,c++语法得到了非常多的扩展,比起以往不论什么时候都要灵活和高效,提高了程序编码的效率,为软件开发者节省了不少的时间. 之前我也写过基于ACE的网络server框架,但A ...
- hdu 4021 24 Puzzle ( 逆序数判断是否可解 )
24 Puzzle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others) Total ...
- Android Freeline加速编译App方案 使用和总结
Freeline简单介绍 在Android Studio还没推出Instant Run功能之前,每次改动Android project项目时都要将整个项目又一次编译一次,然后再将资源和代码文件打包成A ...
- 算法笔记_078:蓝桥杯练习 最大最小公倍数(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少. 输入格式 输入一个正整数N. 输出格式 输出一个整数,表示你 ...