次のコードを使用して、カメラから取得した 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];
}
しかし、Image にバーコードが見つからないというエラー メッセージが表示されます。反対に、ZXingObjC が提供するようなテスト イメージを使用すると動作しますが、問題は UIImagePickerController イメージを試すときだけです。何が間違っているのでしょうか?
どうもありがとう。