天天看點

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包含了條形碼資訊。