Wie man Barcodes aus System Drawing-Objekten liest

How to Read Barcodes From System.Drawing Objects

This article was translated from English: Does it need improvement?
Translated
View the article in English

System.Drawing-Objekte werden in .NET von Entwicklern häufig für Aufgaben im Zusammenhang mit der Bildverarbeitung verwendet. Microsoft hat jedoch den Support für System.Drawing auf anderen Betriebssystemen wie MacOS und Linux eingestellt und unterstützt nun ausschließlich Windows. Diese signifikante Änderung hat bei Entwicklern, die IronBarcode auf anderen Betriebssystemen als Windows verwenden, zu mehreren Problemen geführt. Dies liegt daran, dass das Arbeiten mit Barcodes in der Regel die Verwendung von Objekten wie Grafiken, Bildern und Schriften erfordert.

Um dieses Problem zu lösen, haben wir eine alternative Lösung eingeführt: IronDrawing. Diese kostenlose und Open-Source-Bibliothek, initiiert von IronSoftware, soll den Prozess auf anderen Betriebssystemen als Windows erleichtern. Dies bietet unseren Benutzern eine benutzerfreundliche Erfahrung. Sobald Sie IronBarcode von NuGet installieren, wird IronDrawing automatisch in Ihr Projekt aufgenommen.

Quickstart: Lesen Sie einen Barcode mit AnyBitmap in einer einfachen Zeile

Dieses Snippet zeigt, wie mühelos IronBarcode einen Barcode lesen kann, indem es ein System.Drawing.Bitmap erstellt und IronDrawing es implizit in AnyBitmap umwandelt. Mit nur einer Zeile erhalten Entwickler auf jedem Betriebssystem schnell und einfach Ergebnisse.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. Copy and run this code snippet.

    var results = IronBarCode.BarcodeReader.Read((AnyBitmap)(new System.Drawing.Bitmap("yourImage.png")));
  3. Deploy to test on your live environment

    Start using IronBarcode in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Minimaler Workflow (5 Schritte)

  1. Laden Sie die C#-Bibliothek zum Lesen von Barcodes von System.Drawing herunter
  2. Nutzen Sie IronDrawing, um System.Drawing-Objekte in AnyBitmap umzuformen
  3. Verwenden Sie die Read-Methode, um Barcodes aus AnyBitmap-Objekten zu lesen
  4. Geben Sie die erkannten Barcode-Werte auf der Konsole aus
  5. Erforschen Sie einen weiteren Artikel, um zu erfahren, wie IronDrawing zur Gestaltung von Farben und Schriften verwendet wird

Wandeln Sie System.Drawing in AnyBitmap um

Das Lesen von Barcodes aus System.Drawing besteht einfach darin, das Objekt in AnyBitmap umzuwandeln. IronDrawing wurde mit Benutzerfreundlichkeit im Sinn entwickelt. Folglich unterstützt IronDrawing implizite Umwandlungen für Bildobjekte aus System.Drawing in IronSoftware.Drawing-Bildobjekte namens AnyBitmap.

Zusätzlich zu System.Drawing-Objekten unterstützen wir auch Umwandlungen von anderen Objekttypen, einschließlich:

  • System.Drawing.Bitmap
  • System.Drawing.Image
  • SkiaSharp.SKBitmap
  • SkiaSharp.SKImage
  • SixLabors.ImageSharp

Benutzer können sich das folgende Codebeispiel für die Umwandlung der oben genannten Objekte ansehen. Nachfolgend finden Sie ein Code-Snippet, das zeigt, wie Bilder von Barcodes aus System.Drawing-Objekten in IronSoftware.Drawing.AnyBitmap umgewandelt werden. Hier ist ein einfaches Beispiel:

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-system-drawing-cast-to-anybitmap.cs
using IronSoftware.Drawing;
using System.Collections.Generic;

List<AnyBitmap> barcodes = new List<AnyBitmap>();

// Instantiate System.Drawing.Bitmap
System.Drawing.Bitmap bitmapFromBitmap = new System.Drawing.Bitmap("test1.jpg");

// Cast from System.Drawing.Bitmap to AnyBitmap
AnyBitmap barcode1 = bitmapFromBitmap;

barcodes.Add(barcode1);

// Instantiate System.Drawing.Bitmap
System.Drawing.Image bitmapFromFile = System.Drawing.Image.FromFile("test2.png");

// Cast from System.Drawing.Image to AnyBitmap
AnyBitmap barcode2 = bitmapFromFile;

barcodes.Add(barcode2);
Imports IronSoftware.Drawing
Imports System.Collections.Generic

Private barcodes As New List(Of AnyBitmap)()

' Instantiate System.Drawing.Bitmap
Private bitmapFromBitmap As New System.Drawing.Bitmap("test1.jpg")

' Cast from System.Drawing.Bitmap to AnyBitmap
Private barcode1 As AnyBitmap = bitmapFromBitmap

barcodes.Add(barcode1)

' Instantiate System.Drawing.Bitmap
Dim bitmapFromFile As System.Drawing.Image = System.Drawing.Image.FromFile("test2.png")

' Cast from System.Drawing.Image to AnyBitmap
Dim barcode2 As AnyBitmap = bitmapFromFile

barcodes.Add(barcode2)
$vbLabelText   $csharpLabel

Aus dem obigen Code-Snippet haben wir zwei Barcode-Bilder als System.Drawing.Bitmap und System.Drawing.Image geladen. Wir haben diese dann implizit in AnyBitmap umgewandelt, indem wir sie einfach AnyBitmap-Objekten zugewiesen haben. Anschließend haben wir diese Objekte einer AnyBitmap-Liste hinzugefügt.

Barcodes aus AnyBitmap lesen

IronBarcode kann IronSoftware.Drawing.AnyBitmap-Objekte problemlos in all seinen Methoden akzeptieren, ohne dass eine zusätzliche Konfiguration erforderlich ist. Dies bietet Entwicklern, die IronBarcode mit System.Drawing-Objekten verwenden, die auf Betriebssystemen außer Windows nicht unterstützt werden, Benutzerfreundlichkeit. Das folgende Code-Snippet zeigt, wie dies gemacht wird.

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-system-drawing-read-anybitmap.cs
using IronBarCode;
using IronSoftware.Drawing;
using System;
using System.Collections.Generic;

List<AnyBitmap> barcodes = new List<AnyBitmap>();

System.Drawing.Bitmap bitmapFromBitmap = new System.Drawing.Bitmap("test1.jpg");
AnyBitmap barcode1 = bitmapFromBitmap;
barcodes.Add(barcode1);

System.Drawing.Image bitmapFromFile = System.Drawing.Image.FromFile("test2.png");
AnyBitmap barcode2 = bitmapFromFile;
barcodes.Add(barcode2);

foreach (var barcode in barcodes)
{
    // Read the barcode
    var results = BarcodeReader.Read(barcode);
    foreach (var result in results)
    {
        // Output the detected barcode value
        Console.WriteLine(result.Value);
    }
}
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System
Imports System.Collections.Generic

Private barcodes As New List(Of AnyBitmap)()

Private bitmapFromBitmap As New System.Drawing.Bitmap("test1.jpg")
Private barcode1 As AnyBitmap = bitmapFromBitmap
barcodes.Add(barcode1)

Dim bitmapFromFile As System.Drawing.Image = System.Drawing.Image.FromFile("test2.png")
Dim barcode2 As AnyBitmap = bitmapFromFile
barcodes.Add(barcode2)

For Each barcode In barcodes
	' Read the barcode
	Dim results = BarcodeReader.Read(barcode)
	For Each result In results
		' Output the detected barcode value
		Console.WriteLine(result.Value)
	Next result
Next barcode
$vbLabelText   $csharpLabel

Das obige Code-Snippet ist eine Erweiterung des vorherigen. Sobald wir die AnyBitmap-Liste gefüllt haben, haben wir durch die Liste iteriert und die Read-Methode auf jedem AnyBitmap-Objekt als Parameter aufgerufen, was dann IronBarcode.BarcodeResults zurückgegeben hat. Wir haben dann durch das zurückgegebene Objekt iteriert, um den Barcode-Wert auf der Konsole auszugeben.

Der Funktionsbereich in IronSoftware.Drawing beschränkt sich nicht nur auf die Umwandlung von Bildern. Es wird auch stark in anderen Aspekten der Bildverarbeitung eingesetzt, z.B. Farben und Schriften, die nützlich sind, um Barcodes und QR-Codes zu gestalten. Benutzer können erkunden, wie wir IronDrawing verwenden, um QR-Codes anzupassen und Logos hinzuzufügen.

Häufig gestellte Fragen

Wie kann ich Barcodes aus System.Drawing-Objekten in .NET C# lesen?

Sie können Barcodes aus System.Drawing-Objekten lesen, indem Sie IronBarcode in Verbindung mit IronDrawing verwenden. Zuerst wandeln Sie Ihre System.Drawing-Objekte mit IronDrawing in AnyBitmap um, und verwenden dann die Read-Methode von IronBarcode, um die Barcodes zu lesen.

Was ist IronDrawing und wie hilft es beim Lesen von Barcodes?

IronDrawing ist eine kostenlose Open-Source-Bibliothek von IronSoftware, die das implizite Konvertieren von System.Drawing-Objekten in AnyBitmap ermöglicht. Dies erleichtert das Lesen von Barcodes auf Nicht-Windows-Betriebssystemen, indem diese Objekte mit IronBarcode kompatibel gemacht werden.

Kann ich IronBarcode verwenden, um Barcodes auf MacOS und Linux zu lesen?

Ja, indem Sie IronDrawing verwenden, können Sie System.Drawing-Objekte in AnyBitmap umwandeln, wodurch IronBarcode Barcodes auf MacOS und Linux lesen kann, indem die Einschränkung überwunden wird, dass System.Drawing nur unter Windows verfügbar ist.

Welche Bildobjekttypen können für das Barcode-Lesen in AnyBitmap umgewandelt werden?

Neben System.Drawing-Objekten können Sie System.Drawing.Bitmap, System.Drawing.Image, SkiaSharp.SKBitmap, SkiaSharp.SKImage und SixLabors.ImageSharp-Objekte für das Barcode-Lesen mit IronBarcode in AnyBitmap umwandeln.

Wie zeige ich erkannte Barcode-Werte mit IronBarcode an?

Nachdem Sie Barcodes mit der Read-Methode von IronBarcode gelesen haben, iterieren Sie durch das BarcodeResult-Array und drucken jeden Barcode-Wert in die Konsole.

Ist IronDrawing enthalten, wenn eine Barcode-Lese-Bibliothek von NuGet installiert wird?

Ja, IronDrawing wird automatisch in Ihr Projekt aufgenommen, wenn Sie IronBarcode von NuGet installieren, und bietet eine nahtlose Integration für das Lesen von Barcodes.

Wie kann das implizite Konvertieren von Bildobjekten bei der Barcode-Verarbeitung helfen?

Das implizite Konvertieren von Bildobjekten in AnyBitmap mit IronDrawing vereinfacht den Prozess, System.Drawing-Objekte mit IronBarcode kompatibel zu machen, und verbessert die Barcode-Verarbeitung auf verschiedenen Betriebssystemen.

Hairil Hasyimi Bin Omar
Software Ingenieur
Wie alle großen Ingenieure ist Hairil ein leidenschaftlicher Lerner. Er verfeinert sein Wissen in C#, Python und Java und setzt dieses Wissen ein, um Teammitgliedern bei Iron Software Mehrwert zu bieten. HAiril trat dem Iron Software-Team von der Universiti Teknologi MARA in Malaysia bei, wo er mit einem Bachelor ...
Weiterlesen
Bereit anzufangen?
Nuget Downloads 1,935,276 | Version: 2025.11 gerade veröffentlicht