2

是否有在可可 [OS X] 上进行条码识别(创建和扫描)的框架或其他示例代码?

4

4 回答 4

2

您必须为此使用第三方框架。

例如,您可以使用:

  • 志兴。请注意,一维代码不稳定,因此您可能必须深入研究代码。
  • 条形图。似乎是一个非常有能力的图书馆。

一个简单的 Google 搜索或 StackOverflow 搜索也可以为您提供帮助。

于 2012-06-16T11:17:43.127 回答
1

这里为 mac 和 iphone 创建二维条码: Cocoa Barcodes

于 2012-06-17T14:07:21.663 回答
1

从 macOS 10.10 开始,您可以使用 CIFilter 来读取 QRCode,而无需任何第三方框架:

这是官方文档的链接,以及展示如何使用它的博客文章。

于 2017-06-08T11:09:42.357 回答
1

在尝试创建和读取条形码时,您可以使用付费的 macOS 框架。LEADTOOLS SDK BarcodeReader 和 BarcodeWriter 类都可以读取和写入条形码,并且可以在 Objective-C 和 Swift 项目中使用。

https://www.leadtools.com/help/sdk/v21/dh/ba/barcodewriter.html

创建条形码时,您需要提供必要的条形码数据和写入时所需的选项。

        LTBarcodeData * const barcodeData = writeBarcodeView.barcodeData;

        _selectedSymbology = writeBarcodeView.selectedSymbology;

        _indexOfSelectedWriteOption = writeBarcodeView.indexOfSelectedWriteOption;

        

        LeadRect writeBounds = LeadRectMake(0, 0, image.width, image.height);

        

        if (!LeadRectIsZero(writeBounds) && !LeadRectEqualToRect(writeBounds, barcodeData.bounds))

            writeBounds = barcodeData.bounds;

        

        for (LTBarcodeWriteOptions *writeOption in _barcodeEngine.writer.allDefaultOptions) {

            writeOption.foreColor = [writeBarcodeView.foreColorWell.color colorUsingColorSpaceName:NSCalibratedRGBColorSpace].LTRasterColor;

            

            NSColor * const color = [writeBarcodeView.backColorWell.color colorUsingColorSpaceName:NSCalibratedRGBColorSpace];

            writeOption.backColor = [NSColor colorWithSRGBRed:color.redComponent green:color.greenComponent blue:color.blueComponent alpha:1.0].LTRasterColor;

        }

        

        NSError *error = nil;

        if (![_barcodeEngine.writer calculateBarcodeDataBounds:writeBounds xResolution:image.xResolution yResolution:image.yResolution data:barcodeData options:nil error:&error]) {

            [self displayAlertWithMessage:@"Error while writing barcode" informativeText:error.localizedDescription];

            return;

        }

        

        if (![_barcodeEngine.writer writeBarcode:image data:barcodeData options:nil error:&error]) {

            [self displayAlertWithMessage:@"Error while writing barcode" informativeText:error.localizedDescription];

            return;

        }

        

        _imageViewer.rasterImage = image;

https://www.leadtools.com/help/sdk/v21/dh/ba/barcodereader.html

这是在图像中搜索条形码的小代码片段

NSArray<LTBarcodeData *> *barcodeData = [_barcodeEngine.reader readBarcodes:processingImage searchBounds:bounds maximumBarcodes:0 symbologies:nil error:&error];

有一个示例 macOS 应用程序使用当前托管在 Mac App Store 上的 LEADTOOLS SDK 框架。 https://apps.apple.com/us/app/leadtools-barcode/id602159087

于 2021-01-29T16:20:10.060 回答