我使用zbar扫描任何条形码,当时此API扫描条形码,也扫描图像。任何人,请帮我做this...assume,我有一个玛莎瓶子在那个瓶子里,条形码在那里,但特定的条形码是在橙色塑料上。当我扫描任何条形码图像时,zbar会扫描橙色的条形码。所以我只想得到条形码,而不是条形码的其他部分。
- (void)viewDidLoad
{
[super viewDidLoad];
reader = [ZBarReaderViewController new];
capture = [ZBarCaptureReader new];
capture.captureDelegate = self;
reader.readerDelegate = self;
reader.supportedOrientationsMask = ZBarOrientationMaskAll;
ZBarImageScanner *scanner = reader.scanner;
[scanner setSymbology: ZBAR_I25
config: ZBAR_CFG_ENABLE
to: 0];
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
id<NSFastEnumeration> results =
[info objectForKey: ZBarReaderControllerResults];
ZBarSymbol *symbol = nil;
for(symbol in results)
// EXAMPLE: just grab the first barcode
break;
label.text = symbol.data;
imageView.image = [info objectForKey: UIImagePickerControllerOriginalImage];
// ADD: dismiss the controller (NB dismiss from the *reader*!)
[reader dismissViewControllerAnimated:YES completion:^{}];
}发布于 2014-03-08 20:28:52
zbar不会为你修改图片。它为您提供未经修改即可扫描的图像。
您可以获得裁剪后的图像(扫描仪视图的矩形中的图像)
- (void)imagePickerController:(UIImagePickerController *)imagePicker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *img = info[UIImagePickerControllerOriginalImage];
ZBarImage *cropped = [[ZBarImage alloc] initWithCGImage:img.CGImage crop:((ZBarReaderViewController*)imagePicker).scanCrop size:img.size];
//...
}https://stackoverflow.com/questions/22267960
复制相似问题