天天看点

ZBarSDK–读取条形码信息

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

  帮助文档:

例子分析:

  1.导入和使用SDK

  导入ZBarSDK文件并引入一下框架

  AVFoundation.framework(weak)

CoreMedia.framework (weak)

CoreVideo.framework (weak)

QuartzCore.framework

libiconv.dylib

  最后,引入头文件#import “ZBarSDK.h” 即可使用。

  2.ReaderSample

  使用了ZBarReaderViewController,该类实现了自动捕捉条形码,设置了ZBarReaderViewController属性scanner的配置。

  当找到条形码时,会执行代理方法

  - (void) imagePickerController: (UIImagePickerController*) reader didFinishPickingMediaWithInfo: (NSDictionary*) info

  最后读取并显示了条形码的图片和内容。

  3.EmbedReader

  使用了ZBarReaderView,该类实现了使用摄像头捕捉条形码,调用start方法开始捕捉,调用stop方法停止捕捉。

  当捕捉到条形码时,会调用代理方法:- (void) readerView:(ZBarReaderView*)readerView didReadSymbols:(ZBarSymbolSet*)symbols fromImage:(UIImage*)image

常用类分析:

  1.ZBarReaderViewController用于动态捕捉条形码

  scanner用于配置捕获图像的属性

  cameraDevice用于设置前后置摄像头

  代理方法- (void) readerView:(ZBarReaderView*)readerView didReadSymbols:(ZBarSymbolSet*)symbols fromImage:(UIImage*)image在捕获到条形码后执行

  2.ZBarReaderController继承与UIImagePickerController,用于手动捕捉条形码

  sourceType用于图片获取方式,摄像头或相册

  方法takePicture获取图片,并从图片中捕获条形码

  代理方法- (void) imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary*)info,在读取条形码后执行,info包含了条形码信息。