2011-11-21 32 views
0

我在用ZBar使用ipod读取小QR码时遇到了麻烦。看来我无法让它扫描7mm x 7mm的代码。这是配置问题还是ZBar库的限制?我可以用pic2shop等其他应用程序扫描这些代码。Zbar不会扫描ipod touch.why上的小条码吗?

那么,请告诉我我错在哪里。 谢谢。

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]; 
+0

该库仅适用于iPhone 3GS和iPhone 4. –

+0

ZBar没有担保其他设备上的工作,因为他们记录,没有iPod的名称, –

+0

但它仍然与ipod一起工作,只是不扫描小条码。 – Furqi

回答

0

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

为了解决上述问题:

我会先尝试删除setScancrop线和最初的默认值(全屏幕),并开始捕捉尽可能多的条码成为可能。特别是CGRect值是指原点(x,y)和大小(宽度,长度)。我明白为iPhone 4GS,4.4和旧版iTouch gen 3-4指定{0,0},{1.1}默认为全屏((0,0),(320,480))。

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