您的位置:首页 > 移动开发 > IOS开发

IOS zXing 扫描条形码

2014-03-19 16:51 148 查看
在ios中使用zxing扫描条形码:

1.在- (IBAction)scanPressed:(id)sender方法中:

ZXingWidgetController *widController = [[ZXingWidgetController alloc] initWithDelegate:self showCancel:YES OneDMode:YES];

MultiFormatOneDReader *OneReaders=[[MultiFormatOneDReader alloc]init];
QRCodeReader* qrcodeReader = [[QRCodeReader alloc] init];
NSSet *readers = [[NSSet alloc ] initWithObjects:OneReaders,qrcodeReader,nil];

[qrcodeReader release];

[OneReaders release];

2.在ZXingWidgetController.m的 (void)captureOutput:(AVCaptureOutput *)captureOutput :方法中,注释掉以下方法

if (oneDMode) {
// let's just give the decoder a vertical band right above the red line
cropRect.origin.x = cropRect.origin.x + (cropRect.size.width / 2) - (ONE_D_BAND_HEIGHT + 1);
cropRect.size.width = ONE_D_BAND_HEIGHT;

// do a rotate
CGImageRef croppedImg = CGImageCreateWithImageInRect(capture, cropRect);
capture = [self CGImageRotated90:croppedImg];
capture = [self CGImageRotated180:capture];
CGImageRelease(croppedImg);
cropRect.origin.x = 0.0;
cropRect.origin.y = 0.0;


cropRect.size.width = CGImageGetWidth(capture); cropRect.size.height = CGImageGetHeight(capture); }

4、将以下的代码替换:

UIImage *scrn = [[UIImage alloc] initWithCGImage:newImage]; 

改为:

int backCameraImageOrientation = UIImageOrientationRight;
UIImage *scrn = [[UIImage alloc] initWithCGImage:newImage scale:
(CGFloat)1.0 orientation:backCameraImageOrientation];

5、在OverlayView.m注释代码以下代码:

self.oneDMode = isOneDModeEnabled;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: