cocoa [OS X]でバーコード認識(作成およびスキャン)を行うためのフレームワークまたはその他のサンプルコードはありますか?
4 に答える
これにより、MacとiPhoneの両方の2Dバーコードが作成されます: Cocoaバーコード
macOS 10.10以降、サードパーティのフレームワークを必要とせずにCIFilterを使用してQRCodeを読み取ることができます。
公式ドキュメントへのリンクと、その使用方法を示すブログ投稿へのリンクは次のとおりです。
バーコードを作成して読み取る場合は、有料の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];
現在MacAppStoreでホストされているLEADTOOLSSDKフレームワークを使用するmacOSアプリケーションの例があります。 https://apps.apple.com/us/app/leadtools-barcode/id602159087