So lesen Sie Barcodes aus Bilddateien (JPEG, PNG, GIF, TIFF, SVG, BMP)
So lesen Sie Barcodes aus Bildern in C#

- Laden Sie die C#-Bibliothek herunter, um Barcodes aus Bildern zu lesen
- Verwenden Sie die
Read
-Methode, um Barcode-Werte aus verschiedenen Bildformaten zu lesen - Verwenden Sie die BarcodeReaderOptions-Klasse, um Leseeinstellungen zu konfigurieren
- Bestimmen Sie Barcode-Bereiche im Bild mit der CropArea-Eigenschaft
- Barcode-Typen zum Lesen angeben, indem Sie die Eigenschaft ExpectBarcodeTypes festlegen
Beginnen Sie noch heute mit der Verwendung von IronBarcode in Ihrem Projekt mit einer kostenlosen Testversion.
Barcodes direkt von Bildern lesen
Eine der Hauptfunktionen von IronBarcode ist die Fähigkeit, Barcodes in verschiedenen Bildformaten direkt zu lesen. Die folgenden Bildformate werden derzeit von IronBarcode unterstützt:
* Skalierbare Vektorgrafiken (SVG)
* Gemeinsame Expertengruppe für Fotografie (JPEG)
* Portable Netzwerkgrafiken (PNG)
* Grafik-Austauschformat (GIF)
* Tagged Image File Format (TIFF)
* Bitmap-Bilddatei (BMP)
Dies wird mit Hilfe unserer Open-Source-Bibliothek IronDrawing ermöglicht. Nun, schauen wir uns an, wie wir IronBarcode tatsächlich für das Barcode-Lesen verwenden können:
:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-images-1.cs
using IronBarCode;
using System;
var myBarcode = BarcodeReader.Read(@"image_file_path.jpg"); //image file path
foreach (var item in myBarcode)
{
Console.WriteLine(item.ToString());
}
Imports IronBarCode
Imports System
Private myBarcode = BarcodeReader.Read("image_file_path.jpg") 'image file path
For Each item In myBarcode
Console.WriteLine(item.ToString())
Next item


Möchten Sie wissen, welche Barcode-Werte in den Beispielen enthalten sind? Probieren Sie es mit dem Code-Snippet aus!
Um IronBarcode zu verwenden, müssen Sie als erstes die IronBarcode-Bibliothek über den Microsoft Visual Studio NuGet-Paketmanager in Ihr Projekt installieren, wie in der Abbildung unten gezeigt. Dadurch können Sie die BarcodeReader.Read()
-Methode von IronBarcode verwenden, um direkt ein Barcode-Bild zu lesen.
Aus dem obigen Codeausschnitt können wir sehen, dass IronBarcode Einfachheit bietet, indem es den Benutzern ermöglicht, nur BarcodeReader.Read()
zu verwenden, um eine Bilddatei auszulesen, die bereits im Projekt enthalten ist, indem sie den Dateinamen-String ODER den Dateipfad-String als Parameter für die Methode angeben. Es empfiehlt sich, bei der Angabe eines Dateipfads in der Methode das wortwörtliche Zeichen "@" zu verwenden, da die Benutzer andernfalls mehrere Escape-Zeichen "\" in die Dateipfadzeichenkette einfügen müssten.
Hängen Sie die Methode Values()
an das Ende des Methodenaufrufs BarcodeReader.Read()
an, um den Barcode-Wert als System.String []
-Objekt zu erhalten.
Um das Ergebnis in der Konsole anzuzeigen, können Sie die foreach
-Schleife verwenden, um über die im string[]
-Array gespeicherten Werte zu iterieren, und innerhalb des Schleifenblocks die Console.WriteLine()
-Methode mit der Iteratorvariablen als Parameter aufrufen.
Diese Methode kann nicht nur 1-dimensionale Barcode-Formate (Codabar, Code128, Code39, Code93, EAN13, EAN18, ITF, MSI, UPCA, UPCE) lesen, sondern auch 2-dimensionale Barcode-Formate (Aztec, DataMatrix, QRCode) in verschiedenen Bildformaten.
Einstellen der Barcode-Leseroptionen
Ist Ihnen das Lesen von Barcodes zu langsam? Der Barcode ist auf dem Bild zu klein und IronBarcode kann ihn nicht lesen? Möchten Sie nur bestimmte Bereiche eines Bildes lesen? Möchten Sie nur bestimmte Arten von Barcodes in einem Bild mit gemischten Barcodes lesen? Möchten Sie die allgemeine Leseleistung verbessern? Keine Sorgen mehr!
BarcodeReaderOptions
ermöglicht es Benutzern, das Verhalten des Barcode-Lesers anzupassen oder zu ändern, damit er alle oben genannten Probleme lösen kann. Lassen Sie uns alle einstellbaren Eigenschaften, die in BarcodeReaderOptions
verfügbar sind, im Detail einzeln ansehen und besprechen:
Anbaufläche
CropArea
ist eine Eigenschaft vom Typ IronSoftware.Drawing.CropRectangle
, die in BarcodeReaderOptions
verfügbar ist und es Benutzern ermöglicht, den Bereich in einem Bild anzugeben, den IronBarcode lesen soll. Dadurch wird die Leseleistung verbessert, da der Barcodeleser nicht das gesamte Bild nach Barcodes absuchen muss, und die Lesegenauigkeit erhöht, da der Lesebereich festgelegt ist.
Um die CropArea
-Eigenschaft festzulegen, erstellen Sie einfach ein neues Objekt des Typs Rectangle und geben Sie die Rechteckkoordinaten, die Breite und die Länge des Rechtecks als Argumente an. Die akzeptierte Maßeinheit ist Pixel(px).
csharp CropArea = new IronSoftware.Drawing.Rectangle(x, y, width, height)
ExpectBarcodeTypes
Standardmäßig werden alle unterstützten Barcodes in IronBarcode als Bild gescannt. Wenn der Benutzer jedoch weiß, welche Arten von Barcodes in einem Bild vorhanden sind oder gelesen werden sollen, kann die Einstellung dieser Eigenschaft, nur bestimmte Arten von Barcodes zu lesen, die Leseleistung und -genauigkeit erheblich steigern, da der Barcode-Leser nicht durch Sammlungen von Barcodes iterieren muss, um einen Barcode zu interpretieren und zu lesen.
Um diese Eigenschaft zu verwenden, setzen Sie einfach ExpectBarcodeTypes
auf eines der Felder des BarcodeEncoding
-Enums. Lernen Sie alle von IronBarcode unterstützten Barcodetypen kennen und sehen Sie sich ein Beispiel für jeden Barcodetyp an.
- AllOneDimensional : Lineare Arten von Barcode. Dazu gehören Codabar, Code128, Code39, Code93, EAN13, EAN18, ITF, MSI, UPCA, UPCE Barcodes.
- AllTwoDimensional : Dies umfasst Gitter, Matrix und gestapelte Barcodes. Die Barcode-Typen, die unter die 2-dimensionalen Barcodes fallen, sind Aztec-, DataMatrix- und QRCode-Barcodes.
- Aztec : Aztec 2D-Barcode-Format. Aztec Code ist eine Art von 2D-Barcode, der 1995 von Andrew Longacre Jr. und Robert Hussey erfunden wurde. Benannt nach dem Zentralmuster, das einer Aztekenpyramide ähnelt, hat der Aztec-Code das Potenzial, weniger Platz als andere Matrix-Barcodes zu benötigen, da er keine umgebende leere "Ruhezone" erfordert. Unten ist ein Beispiel eines Aztec-Barcodes
- Codabar: Codabar ist eine lineare Barcode-Symbologie, die 1972 von der Pitney Bowes Corp entwickelt wurde. Codabar kodiert nur numerische Daten (Ziffern). Unten finden Sie ein Beispiel für einen Codabar-Barcode.
- Code128 : Code 128 ist eine hochdichte lineare Barcode-Symbologie, definiert in ISO/IEC 15417:2007. Sie wird für alphanumerische oder nur numerische Barcodes verwendet. Unten ist ein Beispiel für einen Code128-Barcode
- Code39: Code 39 ist eine variable Länge, diskrete Barcode-Symbolik. Die Code 39-Spezifikation definiert 43 Zeichen, bestehend aus Großbuchstaben (A bis Z). Nachfolgend ein Beispiel für einen Code39-Barcode
- Code93 : Code 93 1D-Barcode-Format. Code 93 ist eine Barcode-Symbologie, die 1982 von Intermec entwickelt wurde, um Code 39 mit höherer Dichte und verbesserter Datensicherheit zu erweitern. Code 93 unterstützt die Kodierung nur der folgenden ASCII-Zeichen: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 - . $ / + % LEERTASTE. Unten ist ein Beispiel für einen Code93-Barcode dargestellt
- DataMatrix : Ein Data Matrix ist ein zweidimensionaler Barcode, der aus schwarzen und weißen "Zellen" oder Modulen besteht, die entweder in einem quadratischen oder rechteckigen Muster angeordnet sind, auch bekannt als Matrix. Die zu kodierenden Informationen können Text- oder numerische Daten sein. Die übliche Datengröße reicht von wenigen Bytes bis zu 1556 Bytes. Unten ist ein Beispiel für einen DataMatrix-Barcode.
- EAN13 : Die Internationale Artikelnummer (auch bekannt als Europäische Artikelnummer oder EAN) ist ein Standard, der eine Barcode-Symbologie und ein Nummerierungssystem beschreibt, das im globalen Handel verwendet wird, um einen spezifischen Einzelhandelstyp, in einer spezifischen Verpackungskonfiguration, von einem bestimmten Hersteller zu identifizieren. EAN-13 kann ausschließlich numerische (digitale) Inhalte der Länge von 12 oder 13 Ziffern codieren. Kürzere Barcodes werden automatisch mit führenden Nullen (000) am Anfang der Nummer ergänzt. Unten ist ein Beispiel für einen EAN13-Barcode
- EAN8: Ein EAN-8 ist ein EAN/UPC-Symbologie-Barcode und leitet sich von dem längeren internationalen Artikelnummer-Code (EAN-13) ab. EAN-8 kann nur numerischen Inhalt (Ziffern) mit einer Länge von 7 oder 8 Ziffern kodieren. Kürzere Barcodes erhalten automatisch führende Nullen (000) am Anfang der Zahl. Unten ist ein Beispiel eines EAN8-Barcodes dargestellt.
- IntelligentMail: Intelligent Mail 2D-Barcode-Format. Der Intelligent Mail Barcode (auch bekannt als "IM Barcode" oder "USPS OneCode Barcodes" oder "IMB") ist ein 65-Balken-Barcode, der auf Post in den Vereinigten Staaten verwendet wird. Der Begriff "Intelligent Mail" bezieht sich auf Dienstleistungen, die vom United States Postal Service für die Zustellung von Inlandsbriefen angeboten werden. Der IM-Barcode soll mehr Informationen und Funktionen bieten als seine Vorgänger POSTNET und PLANET. Bitte beachten Sie, dass IronBarcode nur DIESEN Barcode-Typ LESEN kann. Nachfolgend finden Sie ein Beispiel für einen Barcode dieses Typs
- ITF : ITF-14 ist die GS1-Implementierung eines Interleaved 2 of 5 (ITF) Barcodes zur Verschlüsselung einer Global Trade Item Number. ITF-14-Symbole werden in der Regel auf Verpackungsebenen eines Produkts verwendet, wie zum Beispiel bei einem Karton mit 24 Suppendosen. Der ITF-14 codiert immer 14 Ziffern. ITF codiert ausschließlich numerische Daten. Wenn die Anzahl der Ziffern ungerade ist, wird automatisch eine '0' vorangestellt. Unten ist ein Beispiel für einen ITF-Barcode
- MaxiCode : MaxiCode 2D-Barcode-Format. MaxiCode ist ein öffentliches, maschinenlesbares Symbolsystem, das ursprünglich von United Parcel Service erstellt und verwendet wurde. Es eignet sich zur Verfolgung und Verwaltung des Versands von Paketen und ähnelt einem Barcode, verwendet jedoch stattdessen Punkte, die in einem hexagonalen Raster angeordnet sind. Bitte beachten Sie, dass IronBarcode nur lesen kann diesen Barcode-Typ. Nachfolgend sehen Sie ein Beispiel für einen Barcode dieses Typs.
- MSI: MSI ist eine Barcode-Symbologie, die von der MSI Data Corporation entwickelt wurde, basierend auf der ursprünglichen Plessey-Code-Symbologie. Dieser Barcode-Typ akzeptiert nur numerische Werte. Unten ist ein Beispiel für einen MSI-Barcode
- PDF417: PDF417 ist ein gestapeltes lineares Barcode-Symbolformat, das in einer Vielzahl von Anwendungen eingesetzt wird, hauptsächlich im Transportwesen, bei Ausweiskarten und im Bestandsmanagement. PDF steht für Portable Data File. Die 417 bedeutet, dass jedes Muster im Code aus 4 Balken und Zwischenräumen besteht und dass jedes Muster 17 Einheiten lang ist. Die PDF417-Symbologie wurde 1991 von Dr. Ynjiun P. Wang bei Symbol Technologies erfunden. (Wang 1993) Es ist der ISO-Standard 15438. Unten ist ein Beispiel für einen PDF417-Barcode
- Plessey: Plessey Code ist eine 1D-lineare Barcode-Symbologie, die auf Pulsweitenmodulation basiert und 1971 von The Plessey Company PLC, einem in Großbritannien ansässigen Unternehmen, entwickelt wurde. Dieser Barcode-Typ akzeptiert nur numerische Werte. Unten ist ein Beispiel für einen Plessey-Barcode zu sehen.
- QR-Code: QR-Code (abgeleitet von Quick Response Code) ist das Markenzeichen für eine Art von Matrixbarcode (oder zweidimensionalem Barcode), der erstmals 1994 für die Automobilindustrie in Japan entworfen wurde. Ein Barcode ist ein maschinenlesbares optisches Etikett, das Informationen über den Gegenstand enthält, an dem es angebracht ist. Ein QR-Code verwendet vier standardisierte Kodierungsmodi (numerisch, alphanumerisch, Byte/Binär und Kanji), um Daten effizient zu speichern; Erweiterungen können ebenfalls verwendet werden. Unten ist ein Beispiel eines QR-Code-Barcodes dargestellt.
- Rss14: Reduce Space Symbology 14 Barcode-Format. Kann einen 1D-Barcode oder gestapelten 2D-Barcode darstellen. Der RSS 14 Barcode (Reduce Space Symbology) kodiert die vollständige 14-stellige EAN.UCC-Artikelidentifikation in einem Symbol, das von entsprechend konfigurierten Point-of-Sale-Laserscannern omnidirektional gescannt werden kann. Es ist der neueste Barcode-Typ zur platzsparenden Identifikation von EAN International und dem Uniform Code Council, Inc. RSS-Barcodes wurden entwickelt, um die Lebensmittelindustrie und den Gesundheitsbereich anzusprechen, wo Artikel zu klein sind, um andere Barcode-Symbologien zuzulassen. Bitte beachten Sie, dass IronBarcode diesen Barcode-Typ nur LESEN kann. Unten ist ein Beispiel für den Rss14-Barcode
- UPCA: Der Universal Product Code (UPC) ist eine Barcodesymbologie, die in den Vereinigten Staaten, Kanada, dem Vereinigten Königreich, Australien, Neuseeland, in Europa und anderen Ländern weit verbreitet ist, um Handelswaren in Geschäften zu verfolgen. UPC (technisch bezieht sich auf UPC-A) besteht aus 12 numerischen Ziffern, die jedem Handelsartikel eindeutig zugewiesen sind. Zusammen mit dem verwandten EAN-Barcode ist der UPC der Barcode, der hauptsächlich zum Scannen von Handelsartikeln am Verkaufsort gemäß den GS1-Spezifikationen verwendet wird. UPCA kann nur numerische Inhalte (Ziffern) von einer Länge von 12 oder 13 Ziffern kodieren. Kürzere Barcodes werden automatisch mit führenden Nullen (000) am Anfang der Zahl ergänzt. Unten ist ein Beispiel für einen UPCA-Barcode.
- UPCE : Um die Verwendung von UPC-Barcodes auf kleineren Verpackungen zu ermöglichen, bei denen ein vollständiger 12-stelliger Barcode möglicherweise nicht passt, wurde eine 'Null-unterdrückte' Version von UPC entwickelt, die UPC-E genannt wird, bei der das Ziffernsystem, alle nachfolgenden Nullen im Hersteller-Code und alle führenden Nullen im Produktcode unterdrückt werden. UPCE kann nur numerische (Ziffern) Inhalte mit einer Länge von 7 oder 8 Ziffern kodieren. Unten ist ein Beispiel für einen UPCE-Barcode aufgeführt



















ExpectMultipleBarcodes
IronBarcode scannt standardmäßig alle in einem Bild vorhandenen Barcodes, d.h. es wird die gesamte Bilddatei gescannt und die gelesenen Barcodewerte werden in das String-Array eingetragen. Wenn Benutzer jedoch nicht mehrere Barcodes in einer Bilddatei lesen möchten, können sie diese Eigenschaft auf false setzen, wodurch der Barcode-Leser den Scan stoppt, sobald ein Barcode-Wert gefunden wurde. Dies wird die Leistung und die Lesegeschwindigkeit von IronBarcode weiter verbessern.
ImageFilters
Eine der Eigenschaften, die in BarcodeReaderOptions
hinzugefügt werden können, ist eine Sammlung von Bildfiltern. Bildfilter sind wichtig, um das in Iron Barcode eingespeiste Rohbild vorzuverarbeiten. Um Bildfilter innerhalb der BarcodeReaderOptions
anzuwenden, müssen Benutzer zuerst die ImageFilter
-Sammlung initiieren und angeben, die verwendet werden soll.
MaxParallelThreads
IronBarcode ermöglicht es dem Benutzer auch, die Anzahl der parallel ausgeführten Threads zu aktivieren und zu optimieren, was wiederum die Geschwindigkeit und Effizienz des Prozesses verbessert. Parallele Threads bedeuten die gleichzeitige Ausführung von mehreren Threads auf verschiedenen Prozessorkernen. Der Standardwert für die MaxParallelThread
-Eigenschaft in IronBarcode ist 4. Benutzer können diesen Wert anpassen, basierend auf den Fähigkeiten und der Menge an Ressourcen, die ihre Maschinen haben.
Multithreading
Diese Eigenschaft ermöglicht es IronBarcode, mehrere Bilder parallel zu lesen. Der Standardwert für Multihreaded
ist True. Daher werden die mehreren Threads automatisch verwaltet, um die Leistung bei Batch-Barcode-Leseaufgaben zu verbessern.
RemoveFalsePositive
Mit dieser Eigenschaft werden alle falsch-positiven Barcode-Lesungen entfernt. Falsch positive Barcodelesungen bedeuten einfach, dass ein Barcode falsch gelesen, aber als gültig erkannt wurde. Dies kann auf Fehler im Sequenzierungsprozess, wie z. B. Sequenzierungsfehler, oder Fehler bei der Barcode-Etikettierung oder -Vorbereitung zurückzuführen sein. Das Setzen von RemoveFalsePositive
auf true wird daher die fehlerhaften Barcode-Erkennungen entfernen und somit die Genauigkeit der Barcode-Erkennung verbessern. Allerdings, wenn Benutzer Leistung auf Kosten der Genauigkeit wünschen, würde das Setzen dieser Eigenschaft auf False helfen. Der Standardwert für diese Eigenschaft ist True.
ScanMode
Definieren Sie, wie IronBarcode Barcodes in einem Bild scannt und erkennt.
- Auto: Liest Barcodes mit automatischer Bildvorverarbeitung und den optimal konfigurierten Leseroptionen. Empfohlen für beste Ergebnisse und Leistung.
- OnlyDetectionModel: Scannt das Bild nach Barcodes und gibt deren Positionen als Array von IronSoftware.Drawing.PointF zurück. Dieser Modus liest die erkannten Barcodes nicht; es gibt nur die Positionen jedes Barcodes zurück.
- MachineLearningScan: Scannt das Bild nach Barcodes mit maschinellem Lernen und liest sie aus.
-
OnlyBasicScan: Liest Barcodes ohne maschinelles Lernen, automatische Bildvorverarbeitung oder Konfiguration der Lesereinstellungen.
Diese Option kann nur mit IronBarCode.Slim verwendet werden.
Lesegeschwindigkeit
Wie der Name schon sagt, ermöglicht die Speed-Eigenschaft den Benutzern, die Leistung des IronBarcode-Lesers weiter zu optimieren. Ähnlich der RemoveFalsePositive-Eigenschaft verbessert das Anpassen dieser Eigenschaft die Leistung auf Kosten der Genauigkeit. Es akzeptiert das ReadingSpeed-Enum, das vier Stufen hat, wie unten gezeigt:
- Schneller: Wenn die Geschwindigkeit-Eigenschaft auf diesen Wert eingestellt wird, ermöglicht dies das schnellste Barcode-Lesen, verringert jedoch die Genauigkeit. Der Prozess überspringt die Bildvorverarbeitung, was oft zu leeren Barcode-Ergebnissen führt. Verwenden Sie diese Einstellung nur, wenn das Eingabebild scharf und klar ist.
- Ausgewogen: Diese Einstellung wird für die
Speed
-Eigenschaft empfohlen. Es stellt ein Gleichgewicht zwischen Genauigkeit und Leseleistung her, indem es versucht, Lichtverarbeitung auf das Bild anzuwenden, um den Strichcodebereich zu verdeutlichen und ihn für das Strichcodelesegerät erkennbar zu machen. In den meisten Fällen reicht diese Einstellung aus, damit IronBarcode ein Barcodebild lesen und korrekt ausgeben kann. - Detailliert: Falls die Einstellung
ReadingSpeed.Balanced
nicht erfolgreich ist, um den Barcode-Wert aus der Lesung zu erzeugen, können Benutzer die OptionReadingSpeed.Detailed
verwenden. IronBarcode führt eine mittlere Bearbeitung des Bildes durch, um den Barcodebereich weiter zu verdeutlichen, damit der Barcodeleser den Barcode besser erkennen kann. Diese Einstellung ist sehr nützlich, um ein kleines oder unscharfes Barcodebild zu erkennen. -
ExtremeDetail: Diese Einstellung ist die wenigstens empfohlene Einstellung aufgrund des CPU-intensiven Prozesses, bei dem eine umfangreiche Verarbeitung des Barcodes vorgenommen wird, damit der Leser die Barcodes lesen kann. Dadurch wird die Leseleistung von IronBarcode stark reduziert. Es wird empfohlen, das Bild vor dieser Einstellung vorzubearbeiten bzw. Filter auf das Bild anzuwenden.
Bitte beachten Sie jedoch, dass diese Einstellung CPU-intensiv ist und die Leseleistung beeinträchtigen kann. Es wird empfohlen, mit anderen Einstellungen zu experimentieren, bevor Sie diese Einstellung verwenden. Kombination von
ReadingSpeed.Detailed
mitRemoveFalsePositive
auf "True" gesetzt, wird eine Warnung in der Konsole ausgeben. Dies hat jedoch keinen Einfluss auf das Lesen und kann ignoriert werden. -->Bitte beachten Sie jedoch, dass diese Einstellung CPU-intensiv ist und die Leseleistung beeinträchtigen kann. Es wird empfohlen, mit anderen Einstellungen zu experimentieren, bevor Sie diese Einstellung verwenden. Kombination von
ReadingSpeed.ExtremeDetail
mitRemoveFalsePositive
auf "True" gesetzt, führt dazu, dass eine Warnung in der Konsole ausgegeben wird. Dies hat jedoch keinen Einfluss auf das Lesen und kann ignoriert werden. -->
UseCode39ExtendedMode
Mit dieser Einstellung können Barcodes vom Typ Code39 im erweiterten Modus gelesen und interpretiert werden, wobei der gesamte ASCII-Zeichensatz verwendet wird. Das Setzen von UseCode39ExtendedMode
auf True ermöglicht eine genauere Erkennung von Code39-Barcodes.
Advance Barcode aus Bild lesen
Nachdem wir nun alle Optionen kennengelernt haben, die von den Benutzern angepasst werden können, sei es zur Steigerung der Leistung oder der Genauigkeit, wollen wir sehen, wie wir sie in unserem Code anwenden können. Das folgende Codeschnipsel veranschaulicht dies.
:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-images-2.cs
using IronBarCode;
using System;
BarcodeReaderOptions myOptions = new BarcodeReaderOptions()
{
ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional, //or AllTwoDimensional
ExpectMultipleBarcodes = true, // Default is true
MaxParallelThreads = 2, // Default is 4
Speed = ReadingSpeed.Detailed, // 4 levels of speed. Default is Balanced
CropArea = new IronSoftware.Drawing.Rectangle(x: 242, y: 1124, width: 359, height: 378), // Units are in px
ImageFilters = new ImageFilterCollection { new BinaryThresholdFilter() }, // Assign to image filter object name
Multithreaded = true, // Default is true
UseCode39ExtendedMode = true, // Default is true
};
var myBarcode = BarcodeReader.Read(@"image_file_path.jpg", myOptions); // Image file path
foreach (var item in myBarcode)
{
Console.WriteLine(item.ToString());
}
Imports IronBarCode
Imports System
Private myOptions As New BarcodeReaderOptions() With {
.ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
.ExpectMultipleBarcodes = True,
.MaxParallelThreads = 2,
.Speed = ReadingSpeed.Detailed,
.CropArea = New IronSoftware.Drawing.Rectangle(x:= 242, y:= 1124, width:= 359, height:= 378),
.ImageFilters = New ImageFilterCollection From {New BinaryThresholdFilter()},
.Multithreaded = True,
.UseCode39ExtendedMode = True
}
Private myBarcode = BarcodeReader.Read("image_file_path.jpg", myOptions) ' Image file path
For Each item In myBarcode
Console.WriteLine(item.ToString())
Next item
Aus dem Code-Snippet können wir sehen, dass wir, um BarcodeReaderOptions
zu verwenden, es zuerst initialisieren müssen; danach können wir die Eigenschaften von BarcodeReaderOptions
je nach den oben genannten Eigenschaften bestimmen und anpassen. Die initialisierten BarcodeReaderOptions
können später als Argument in der Methode BarcodeReader.Read()
zusammen mit der Bilddatei verwendet werden. Dies wird alle Einstellungen in BarcodeReaderOptions
anwenden, wenn Barcodes aus dem Bild gelesen werden.