您的位置:首页 > 其它

扫描相册中的二维码

2015-11-09 15:26 363 查看
直接上代码:

0.代理协议

UIImagePickerControllerDelegate, UINavigationControllerDelegate

1.定义

@property (strong, nonatomic) CIDetector *detector;

2.“相册”按钮的点击事件

-(void)clickRightBarButton:(UIBarButtonItem*)item

{

self.detector = [CIDetector detectorOfType:CIDetectorTypeQRCode context:nil options:@{ CIDetectorAccuracy : CIDetectorAccuracyHigh }];

UIImagePickerController *picker = [[UIImagePickerController alloc] init];

picker.delegate = self;

picker.allowsEditing = NO;

picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

[self.navigationController presentViewController:picker animated:YES completion:nil];

}


  

3.照片选择后的代理方法

- ( void )imagePickerController:( UIImagePickerController *)picker didFinishPickingMediaWithInfo:( NSDictionary *)info
{
[picker dismissViewControllerAnimated:YES completion:nil];
UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
if (!image){
image = [info objectForKey:UIImagePickerControllerOriginalImage];
}

NSArray *features = [self.detector featuresInImage:[CIImage imageWithCGImage:image.CGImage]];
if (features.count >=1) {
CIQRCodeFeature *feature = [features objectAtIndex:0];
NSString *scannedResult = feature.messageString;

NSLog(@" ----  %@", scannedResult);
NSArray *typeArray = [scannedResult componentsSeparatedByString:@","];
if (typeArray.count <= 0) {
return;
}
// 分析扫描结果
[self analyzeQRCode:typeArray];
}
}


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