在OSX中使用ZXing获取QRCode数据

| 我正在寻找实现一个类,该类将能够从文件(jpeg,bmp等)中读取QR码并将其信息输出为NSString。 我遇到的问题是,每个项目似乎都围绕着让iPhone用相机来完成这一任务。 我想在带有图像文件的OSX桌面上执行此操作。我曾尝试使用ZXing随附的Objective-C OSX项目,但无法使其与我自己的项目配合使用。 有没有人成功做到这一点?谢谢!     
已邀请:
        所以这就是我想出的,它似乎对我有用。
- (NSString*) movieFrameAsString:(CGImageRef)targetMovieFrame
{
    @try 
    {        
        ZXCGImageLuminanceSource* luminancesource = [[ZXCGImageLuminanceSource alloc] initWithCGImage:targetMovieFrame];
        ZXHybridBinarizer* binarizerInput = [[ZXHybridBinarizer alloc] init];
        [binarizerInput initWithSource:luminancesource];
        ZXBinaryBitmap* binarybitmapInput = [[ZXBinaryBitmap alloc] initWithBinarizer:binarizerInput];
        ZXDecodeHints* decodehints   = [[ZXDecodeHints alloc] init];
        ZXQRCodeReader* qrcodereader = [[ZXQRCodeReader alloc] init];

        ZXResult* results = [qrcodereader decode:binarybitmapInput hints:decodehints];

        [luminancesource release];
        [binarizerInput release];
        [binarybitmapInput release];
        [decodehints release];
        [qrcodereader release];

        return [results text];
    }

    @catch (ZXReaderException* rex)
    {
        if (![rex.reason isEqualToString:@\"Could not find three finder patterns\"]) 
        {
            //NSLog(@\"failed to decode, caught ReaderException \'%@\'\", rex.reason);
        }
    } 

    @catch (ZXIllegalArgumentException* iex) 
    {
        //NSLog(@\"failed to decode, caught IllegalArgumentException \'%@\'\", iex.reason);
    }

    @catch (id ue) 
    {
        //NSLog(@\"Caught unknown exception: %@\", ue);
    }

    return 0;
}
引入了targetMovieFrame,它通过过滤器的混合物运行它以生成二进制图像。它通过使用提示对图像进行解码并使用QRCodeReader对象中包含的方法来产生结果。然后,我返回结果,这是一个NSString。其他所有内容只是被捕获并返回的异常。     

要回复问题请先登录注册