Zbar没有在ipod touch上扫描小条形码。为什么?

时间:2011-11-21 05:08:13

标签: iphone barcode-scanner

我无法使用ipod使用ZBar读取小型QR码。我似乎无法用7mm x 7mm代码进行扫描。这是配置问题还是ZBar库的限制?我可以使用pic2shop等其他应用扫描这些代码。

所以,请告诉我我在哪里错了。 谢谢。

ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;

[reader.scanner setSymbology:  ZBAR_I25
                      config:  ZBAR_CFG_ENABLE
                          to: 0];

reader.showsZBarControls=NO;

reader.cameraOverlayView.frame=CGRectMake(0, 0, 320, 460);
reader.readerView.allowsPinchZoom = YES;
//reader.readerView.alpha=1.0;
reader.readerView.backgroundColor=[UIColor clearColor];

reader.wantsFullScreenLayout = YES;
reader.readerView.zoom=1.0;
[reader.readerView setScanCrop:(CGRect){ { 0.125, 0 }, { 0.75, 1} }];
[self.view addSubview:reader.view];

ZBarCaptureReader *cap=[[ZBarCaptureReader alloc]init];
cap.scanCrop=CGRectMake(10, 20, 100, 460);  
[self presentModalViewController: reader animated: YES];
[reader release];

1 个答案:

答案 0 :(得分:0)

2年后= Z Bar可以使用的结果图像大小存在问题。特别是根据文档,每个模块至少需要3个像素(黑色或白色条纹),因此图像大小需要更大才能正确扫描。我在iPad 2中遇到了这个问题,它可以使用前置摄像头读取条码,但无法用后置摄像头读取(这也会产生颗粒状照片,这与已发布的后置摄像头列出的iPad 2的相机规格相反作为2的更好 - 我相信规格在某个时间点切换。使用大型QR码我需要iPhone 4S或iPhone 5才能正常扫描,并且视频质量需要从默认的VGA设置为高。

解决上述问题:

我首先尝试删除setScancrop行并最初以默认(全屏)开始并尽可能多地捕获条形码。特别是CGRect值指的是原点(x,y)和大小(宽度,长度)。我理解为iPhone 4GS,4。4s和旧的iTouch gen 3-4指定{0,0},{1.1}默认为全屏((0,0),(320,480))。

接下来我要尝试的是使用ZBarReaderView类,它采用分辨率高于从视频输入中获取图像的其他类的手动静态照片。在这种情况下,相关参数是maxscansize,zoom,max zoom,它们在此模式下处于活动状态,但在其他类中不活动。