【发布时间】:2025-12-31 13:20:17
【问题描述】:
我正在将 ZBarSDK 与 iPhone 项目一起使用。
我使用 ZBar 作为嵌入式阅读器。基本上在 Interface Builder 中连接一个 UIView。将类更改为ZBarReaderView 并实现委托方法-(void)readerView: (ZBarReaderView*) view didReadSymbols: (ZBarSymbolSet*) syms fromImage: (UIImage*) img。
这在大多数情况下都可以正常工作。然而,有些条码显然无法正确扫描。第一个块被解释错误。下次我得到7001814... 时,我得到类似5008914... 的东西,然后我得到正确的4001954...
我回到 SDK 中的“EmbedReader”示例,查看是否可以找到任何可能需要进行的调整,并发现它也产生了相同的错误。如果我查看示例“ReaderSample”,则不会发生错误,但是它使用了ZBarReaderViewController 的实例。
然后我尝试在我的viewWillAppear 方法中将ZBAR_CFG_X_DENSITY 和ZBAR_CFG_Y_DENSITY 都更改为3,但这没有任何影响。
ZBarReaderViewController和ZBarReaderView的扫描机制有什么区别?我可以做些什么来抑制错误的结果?
谢谢
这里有一些相关的代码sn-ps。
在.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];
}
【问题讨论】:
标签: objective-c ios6 zbar-sdk zbar