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

1.使用ZBar项目。下载地址是: http://zbar.sourceforge.net/iphone/index.html

2.新建一个项目。

3.导入 ZBar的sdk。把ZBar SDK的目录拉入项目,然后选中copy选项

4.在项目文件的target中加入 以下framework

5.在appDelegate文件中加入 标记部分的代码

  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  2. {
  3. self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
  4. // Override point for customization after application launch.
  5. self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];
  6. self.window.rootViewController = self.viewController;
  7. [self.window makeKeyAndVisible];
  8. // force view class to load so it may be referenced directly from NIB
  9. [ZBarReaderView class];
  10. return YES;
  11. }

注意此代码:

  1. // force view class to load so it may be referenced directly from NIB
  2. [ZBarReaderView class];

6.在.h文件中加入   ZBarReaderViewDelegate的实现,代码如下:

  1. //
  2. //  ViewController.h
  3. //  FootSafety
  4. //
  5. //  Created by 泽宇 徐 on 12-6-12.
  6. //  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
  7. //
  8. #import <UIKit/UIKit.h>
  9. #import "ZBarSDK.h"
  10. @interface ViewController : UIViewController<ZBarReaderViewDelegate>
  11. {
  12. IBOutlet UILabel  * label ;
  13. ZBarReaderView *readerView;
  14. ZBarCameraSimulator *cameraSim;
  15. }
  16. @property(nonatomic,retain) UILabel * label ;
  17. @property (nonatomic, retain) IBOutlet ZBarReaderView *readerView;
  18. @end

7.在.m文件中要实现的主要方法是:

  1. - (void) readerView: (ZBarReaderView*) view
  2. didReadSymbols: (ZBarSymbolSet*) syms
  3. fromImage: (UIImage*) img
  4. {
  5. // do something useful with results
  6. for(ZBarSymbol *sym in syms) {
  7. self.label.text = sym.data;
  8. break;
  9. }
  10. }

这里是功能是读取照片信息,把条码放如label显示

  1. -(void) viewDidAppear:(BOOL)animated
  2. {
  3. // run the reader when the view is visible
  4. [readerView start];
  5. }

这个是在显示视图的时候,启动摄像头,开始扫描

  1. - (void)viewDidLoad
  2. {
  3. [super viewDidLoad];
  4. // Do any additional setup after loading the view, typically from a nib.
  5. // the delegate receives decode results
  6. readerView.readerDelegate = self;
  7. // you can use this to support the simulator
  8. if(TARGET_IPHONE_SIMULATOR) {
  9. cameraSim = [[ZBarCameraSimulator alloc]
  10. initWithViewController: self];
  11. cameraSim.readerView = readerView;
  12. }
  13. }

在初始化的时候,设置托管。

.m文件所有内容是:

  1. //
  2. //  ViewController.m
  3. //  FootSafety
  4. //
  5. //  Created by 泽宇 徐 on 12-6-12.
  6. //  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
  7. //
  8. #import "ViewController.h"
  9. @interface ViewController ()
  10. @end
  11. @implementation ViewController
  12. @synthesize label;
  13. @synthesize readerView;
  14. - (void)viewDidLoad
  15. {
  16. [super viewDidLoad];
  17. // Do any additional setup after loading the view, typically from a nib.
  18. // the delegate receives decode results
  19. readerView.readerDelegate = self;
  20. // you can use this to support the simulator
  21. if(TARGET_IPHONE_SIMULATOR) {
  22. cameraSim = [[ZBarCameraSimulator alloc]
  23. initWithViewController: self];
  24. cameraSim.readerView = readerView;
  25. }
  26. }
  27. -(void) viewDidAppear:(BOOL)animated
  28. {
  29. // run the reader when the view is visible
  30. [readerView start];
  31. }
  32. - (void) readerView: (ZBarReaderView*) view
  33. didReadSymbols: (ZBarSymbolSet*) syms
  34. fromImage: (UIImage*) img
  35. {
  36. // do something useful with results
  37. for(ZBarSymbol *sym in syms) {
  38. self.label.text = sym.data;
  39. break;
  40. }
  41. }
  42. - (void)viewDidUnload
  43. {
  44. [super viewDidUnload];
  45. // Release any retained subviews of the main view.
  46. }
  47. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
  48. {
  49. return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
  50. }
  51. -(void) dealloc
  52. {
  53. [self.readerView release];
  54. [self.label release];
  55. [super dealloc];
  56. }
  57. @end

在ViewController.xib文件中 增加一个view,并且修改view的类是ZBarReaderView ,并且指向 .h文件中定义的

  1. ZBarReaderView *readerView;
  1. 版权声明:本文为博主原创文章,未经博主允许不得转载。
  2.  
  3. .使用ZBar项目。下载地址是: http://zbar.sourceforge.net/iphone/index.html
  4.  
  5. .新建一个项目。
  6.  
  7. .导入 ZBarsdk。把ZBar SDK的目录拉入项目,然后选中copy选项
  8.  
  9. .在项目文件的target中加入 以下framework
  10.  
  11. .在appDelegate文件中加入 标记部分的代码
  12. [cpp] view plain copy
  13. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  14. {
  15. self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
  16. // Override point for customization after application launch.
  17. self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];
  18. self.window.rootViewController = self.viewController;
  19. [self.window makeKeyAndVisible];
  20.  
  21. // force view class to load so it may be referenced directly from NIB
  22. [ZBarReaderView class];
  23.  
  24. return YES;
  25. }
  26. 注意此代码:
  27.  
  28. [cpp] view plain copy
  29. // force view class to load so it may be referenced directly from NIB
  30. [ZBarReaderView class];
  31.  
  32. .在.h文件中加入 ZBarReaderViewDelegate的实现,代码如下:
  33. [cpp] view plain copy
  34. //
  35. // ViewController.h
  36. // FootSafety
  37. //
  38. // Created by 泽宇 徐 on 12-6-12.
  39. // Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
  40. //
  41.  
  42. #import <UIKit/UIKit.h>
  43. #import "ZBarSDK.h"
  44.  
  45. @interface ViewController : UIViewController<ZBarReaderViewDelegate>
  46. {
  47. IBOutlet UILabel * label ;
  48. ZBarReaderView *readerView;
  49. ZBarCameraSimulator *cameraSim;
  50. }
  51.  
  52. @property(nonatomic,retain) UILabel * label ;
  53. @property (nonatomic, retain) IBOutlet ZBarReaderView *readerView;
  54.  
  55. @end
  56.  
  57. .在.m文件中要实现的主要方法是:
  58.  
  59. [html] view plain copy
  60. - (void) readerView: (ZBarReaderView*) view
  61. didReadSymbols: (ZBarSymbolSet*) syms
  62. fromImage: (UIImage*) img
  63. {
  64. // do something useful with results
  65. for(ZBarSymbol *sym in syms) {
  66. self.label.text = sym.data;
  67. break;
  68. }
  69. }
  70.  
  71. 这里是功能是读取照片信息,把条码放如label显示
  72.  
  73. [html] view plain copy
  74. -(void) viewDidAppear:(BOOL)animated
  75. {
  76. // run the reader when the view is visible
  77. [readerView start];
  78. }
  79.  
  80. 这个是在显示视图的时候,启动摄像头,开始扫描
  81.  
  82. [html] view plain copy
  83. - (void)viewDidLoad
  84. {
  85. [super viewDidLoad];
  86. // Do any additional setup after loading the view, typically from a nib.
  87.  
  88. // the delegate receives decode results
  89. readerView.readerDelegate = self;
  90.  
  91. // you can use this to support the simulator
  92. if(TARGET_IPHONE_SIMULATOR) {
  93. cameraSim = [[ZBarCameraSimulator alloc]
  94. initWithViewController: self];
  95. cameraSim.readerView = readerView;
  96. }
  97.  
  98. }
  99.  
  100. 在初始化的时候,设置托管。
  101.  
  102. .m文件所有内容是:
  103. [html] view plain copy
  104. //
  105. // ViewController.m
  106. // FootSafety
  107. //
  108. // Created by 泽宇 徐 on 12-6-12.
  109. // Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
  110. //
  111.  
  112. #import "ViewController.h"
  113.  
  114. @interface ViewController ()
  115.  
  116. @end
  117.  
  118. @implementation ViewController
  119. @synthesize label;
  120. @synthesize readerView;
  121.  
  122. - (void)viewDidLoad
  123. {
  124. [super viewDidLoad];
  125. // Do any additional setup after loading the view, typically from a nib.
  126.  
  127. // the delegate receives decode results
  128. readerView.readerDelegate = self;
  129.  
  130. // you can use this to support the simulator
  131. if(TARGET_IPHONE_SIMULATOR) {
  132. cameraSim = [[ZBarCameraSimulator alloc]
  133. initWithViewController: self];
  134. cameraSim.readerView = readerView;
  135. }
  136.  
  137. }
  138.  
  139. -(void) viewDidAppear:(BOOL)animated
  140. {
  141. // run the reader when the view is visible
  142. [readerView start];
  143. }
  144.  
  145. - (void) readerView: (ZBarReaderView*) view
  146. didReadSymbols: (ZBarSymbolSet*) syms
  147. fromImage: (UIImage*) img
  148. {
  149. // do something useful with results
  150. for(ZBarSymbol *sym in syms) {
  151. self.label.text = sym.data;
  152. break;
  153. }
  154. }
  155.  
  156. - (void)viewDidUnload
  157. {
  158. [super viewDidUnload];
  159. // Release any retained subviews of the main view.
  160. }
  161.  
  162. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
  163. {
  164. return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
  165. }
  166.  
  167. -(void) dealloc
  168. {
  169. [self.readerView release];
  170. [self.label release];
  171. [super dealloc];
  172. }
  173.  
  174. @end
  175.  
  176. ViewController.xib文件中 增加一个view,并且修改view的类是ZBarReaderView ,并且指向 .h文件中定义的
  177. [cpp] view plain copy
  178. ZBarReaderView *readerView;

使用ZBar来读取条形码和二维码的方法的更多相关文章

  1. Java生成读取条形码和二维码图片

    原文:http://www.open-open.com/code/view/1453520722495 package zxing; import com.google.zxing.BarcodeFo ...

  2. zbar+opencv检测图片中的二维码或条形码

    zbar本身自带检测二维码条形码功能,这里使用opencv只是做一些简单的读取图片,灰度图片以及显示条形码和二维码时用到一些绘制 // barcode-qrcodescanner.cpp: 定义控制台 ...

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

    条形码的标准: 条形码的标准有ENA条形码.UPC条形码.二五条形码.交叉二五条形码.库德巴条形码.三九条形码和128条形码等,而商品上最常使用的就是EAN商品条形码.EAN商品条形码亦称通用商品条形 ...

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

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

  5. Android之条形码、二维码扫描框架(非原创)

    文章大纲 一.条形码.二维码扫描框架介绍二.条形码.二维码的区别和组成结构介绍三.条形码.二维码扫描框架应用场景四.BGAQRCode-Android框架实战五.项目源码下载六.参考文章 一.条形码. ...

  6. Java 创建/识别条形码、二维码

    条形码(Barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符.常用于标示物品的生产国.制造厂家.商品名称.生产日期.图书分类号.邮件起止地点.类别.日期等 ...

  7. (整理).net实现条形码与二维码

    本文由来源网络的知识点组合而成,感谢分享的作者,文章结尾处给出查询资料连接. 条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符.常见的条形码是 ...

  8. 实例源码--ZXing识别条形码和二维码识别源码

      下载源码 技术要点: 1.ZXing库的 使用 2.识别条形码和二 维码 3.自定义视图 4.源码带有非常详 细的中文注释 ...... 详细介绍: 1.ZXing库 ZXing是个很经典的条码/ ...

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

    本文主要介绍可以在C#中使用的1D/2D编码解码器.条形码的应用已经非常普遍,几乎所有超市里面的商品上面都印有条形码:二维码也开始应用到很多场合,如火车票有二维码识别.网易的首页有二维码图标,用户只需 ...

随机推荐

  1. Mac系统使用VS Code编译Bootstrap 4

    环境: macOS 10.13.6 node.js 8.11.3 sass 1.10.3 bootstrap 4.1.3 vs code 1.25.1 Bootstrap3为我们提供了在线编译工具,可 ...

  2. jquery ajax 不执行赋值,return没有返回值的解决方法

    大家先看一段简单的jquery ajax 返回值的js 复制代码 代码如下: function getReturnAjax{ $.ajax({ type:"POST", url:& ...

  3. iOS:开发常用GitHub开源项目(持续更新)

    IOS开发常用GitHub开源项目(持续更新) 数据类 开源库 作者 简介 AFNetworking Mattt 网络请求库 ASIHTTPRequest pokeb 网络请求库 Alamofire ...

  4. 【特别好】【位运算】maximum-xor-of-two-numbers-in-an-array

    https://leetcode.com/problems/maximum-xor-of-two-numbers-in-an-array/ 利用了异或的”自反性“: a ^ b = c,而a ^ b ...

  5. 组件prop检验

    Vue.js中的父子组件相信都已经是大家很常用到的功能了, 父组件通过props属性向子组件传值子组件通过自定义事件向父组件传值 那么我们怎么去校验props属性中的类型呢 笔者列出以下几种方法: 1 ...

  6. 创业之前 ——Paul Graham 最新博文

    原文:Paul Graham 译者:李智维 /LeanCloudproject师 2014年10月 (这篇文章是我在斯坦福大学举办的Sam Altman创业课堂上的嘉宾演讲稿.本意是写给大学生的,但当 ...

  7. 安装Tomcat指定JDK ——转

    转自:http://www.cnblogs.com/lioillioil/archive/2011/10/08/2202169.html 一.应用实例 一般情况下一台服务器只跑一个业务,那么就直接配置 ...

  8. PageRank学习

    喜欢手写学习,记忆深刻(字丑勿喷!). 计算过程的代码如下: public class PageRank { private static double m[][]={ { 0 , 0.5 , 1 , ...

  9. webpack+vuecli打包常见的2个坑

    第一个坑: 一般情况下,通过webpack+vuecli默认打包的css.js等资源,路径都是绝对的.但当部署到带有文件夹的项目中,这种绝对路径就会出现问题,因为把配置的static文件夹当成了根路径 ...

  10. java编写Loadrunner脚本

    web.set_max_html_param_len("1000000"); lr.start_transaction("red_envelop"); web. ...