我正在使用ZBarSDK和iPhone項目。在ZBAR SDK示例中錯誤地解碼條形碼
我正在使用ZBar作爲嵌入式閱讀器。基本上在界面生成器中掛接一個UIView。將班級更改爲ZBarReaderView
並實施委託方法-(void)readerView: (ZBarReaderView*) view didReadSymbols: (ZBarSymbolSet*) syms fromImage: (UIImage*) img
。
這在大多數情況下工作正常。然而,條形碼顯然不能正確掃描。第一個塊被解釋爲錯誤。我得到的東西像5008914...
的下一次我7001814...
,然後我得到正確的4001954...
我又回到了從SDK中的「EmbedReader」的例子,並期待看看我是否能找到可能需要作出的任何調整並發現它也產生了相同的錯誤。如果我看一下示例「ReaderSample」,則不會發生該錯誤,但是這會使用ZBarReaderViewController
的實例。
然後我試圖將ZBAR_CFG_X_DENSITY
和ZBAR_CFG_Y_DENSITY
都更改爲3我的viewWillAppear
方法,但沒有影響。
ZBarReaderViewController
和ZBarReaderView
的掃描機制有什麼區別?我能做些什麼來抑制錯誤的結果?
謝謝
這裏有一些相關的代碼片段。
在.H
@interface ScanVC:UIViewController<ZBarReaderViewDelegate>
{
IBOutlet ZBarReaderView *readerView;
...
}
...
@property (nonatomic, retain) IBOutlet ZBarReaderView *readerView;
...
在.M
@synthesize readerView;
...
-(void) viewDidAppear: (BOOL) animated
{
[[readerView scanner] setSymbology:0 config:ZBAR_CFG_X_DENSITY to: 3];
[[readerView scanner] setSymbology:0 config:ZBAR_CFG_Y_DENSITY to: 3];
[[readerView scanner] setSymbology:ZBAR_I25 config:ZBAR_CFG_ENABLE to:0];
[readerView start];
}
...
- (void) readerView: (ZBarReaderView*) view didReadSymbols: (ZBarSymbolSet*) syms fromImage: (UIImage*) img
{
for(ZBarSymbol *sym in syms) {
...
}
...
}
...
-(void)viewDidLoad
{
[readerView setDelegate: self];
}
是 - 我確定我沒有掃描I25 ... – Joseph