介紹:
ZBarSDK是一個開源的SDK,可從這裏下載到源碼,該SDK實現了識別和讀取各種條形碼,包括EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Interleaved 2 of 5 和 QR Code。
幫助文檔:http://zbar.sourceforge.net/iphone/sdkdoc/index.html
例子分析:
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包含了條形碼信息。