Я использую следующий код для декодирования QRCode, взятого с камеры.
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
originalImage = (UIImage *) [info objectForKey:
UIImagePickerControllerEditedImage];
ZXQRCodeReader *reader = [[ZXQRCodeReader alloc]init];
ZXLuminanceSource *source = [[ZXCGImageLuminanceSource alloc] initWithCGImage:[originalImage CGImage]];
ZXHybridBinarizer *binazer = [ZXHybridBinarizer binarizerWithSource:source];
ZXBinaryBitmap *bitmap = [[ZXBinaryBitmap alloc]initWithBinarizer:binazer];
NSError *error;
ZXResult *result = [reader decode:bitmap
hints:nil
error:&error];
if(result){
[[[UIAlertView alloc] initWithTitle:@"Success" message:@"Success"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil, nil] show];
} else {
// Use error to determine why we didn't get a result, such as a barcode
// not being found, an invalid checksum, or a format inconsistency.
[[[UIAlertView alloc] initWithTitle:@"ERROR" message:[error localizedDescription]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil, nil] show];
}
Однако я получаю сообщение об ошибке, в котором говорится, что на изображении не найден штрих-код. С другой стороны, если я использую тестовые изображения, подобные предоставленным ZXingObjC, это работает, проблема заключается только в том, что я пытаюсь использовать изображения UIImagePickerController. Итак, любые идеи, что может быть не так???.
Большое спасибо.