Lesen von Strichcodes aus System.Drawing-Objekten
System.Drawing-Objekte werden in .NET häufig für Aufgaben im Zusammenhang mit der Bildverarbeitung von Entwicklern verwendet. Microsoft hat jedocheinstellung der Unterstützung für System.Drawing auf anderen Betriebssystemen, wie MacOS und Linux, und unterstützt jetzt ausschließlich Windows. Diese wichtige Änderung hat zu zahlreichen Problemen für Entwickler geführt, die IronBarcode auf anderen Betriebssystemen als Windows verwenden. Das liegt daran, dass bei der Arbeit mit Strichcodes normalerweise Objekte wie Grafiken, Bilder und Schriftarten verwendet werden.
Um dieses Problem zu lösen, haben wir eine alternative Lösung eingeführt:EisenZeichnung. Diese kostenlose und open-source Bibliothek, initiiert von IronSoftware, zielt darauf ab, den Prozess derfunktionieren der Software auf verschiedenen Betriebssystemen andere als Windows. Dies bietet eine benutzerfreundliche Erfahrung für unsere Nutzer. Sobald Sie IronBarcode von NuGet installieren, wird IronDrawing automatisch in Ihr Projekt eingebunden.
Erste Schritte mit IronBarcode
Beginnen Sie noch heute mit der Verwendung von IronBarcode in Ihrem Projekt mit einer kostenlosen Testversion.
Lesen von Strichcodes aus System.Drawing-Objekten
- Laden Sie die C#-Bibliothek zum Lesen von Barcodes aus System.Drawing herunter
- IronDrawing verwenden, um System.Drawing-Objekte in AnyBitmap zu verwandeln
- Verwenden Sie die
Lesen Sie
methode zum Lesen von Barcodes aus AnyBitmap-Objekten - Anzeige der erkannten Barcodewerte auf der Konsole
- In einem anderen Artikel erfahren Sie, wie IronDrawing für den Umgang mit Farben und Schriften verwendet wird
Cast System.Drawing zu AnyBitmap
Beim Lesen von Strichcodes aus System.Drawing wird das Objekt einfach auf AnyBitmap gecastet. Bei der Entwicklung von IronDrawing stand die Benutzerfreundlichkeit im Vordergrund. Folglich unterstützt IronDrawing das implizite Casting von Bildobjekten aus System.Drawing in IronSoftware.Drawing Bildobjekte namens AnyBitmap.
Zusätzlich zu den System.Drawing-Objekten unterstützen wir auch das Casting von anderen Objekttypen, einschließlich:
- System.Drawing.Bitmap
- System.Drawing.Image
- SkiaSharp.SKBitmap
- SkiaSharp.SKImage
SixLabors.ImageSharp
Die Benutzer können sich auf Folgendes beziehencode-Beispiel für Gussobjekte oben. Der folgende Codeausschnitt zeigt, wie man Bilder von Barcodes aus System.Drawing-Objekten in IronSoftware.Drawing.AnyBitmap umwandelt.
: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)
Aus dem obigen Codeschnipsel haben wir zwei Barcode-Bilder als System.Drawing.Bitmap und System.Drawing.Image geladen. Wir wandeln sie dann implizit in AnyBitmap um, indem wir sie einfach AnyBitmap-Objekten zuweisen. Anschließend haben wir diese Objekte in eine AnyBitmap-Liste aufgenommen.
Barcodes von AnyBitmap lesen
IronBarcode kann IronSoftware.Drawing.AnyBitmap-Objekte in allen seinen Methoden akzeptieren, ohne dass eine zusätzliche Konfiguration erforderlich ist. Dies erleichtert Entwicklern, die IronBarcode mit System.Drawing-Objekten verwenden, die auf anderen Betriebssystemen als Windows nicht unterstützt werden, die Arbeit. Der nachstehende Codeschnipsel zeigt, wie dies zu bewerkstelligen ist.
: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
Der obige Codeschnipsel ist eine Erweiterung des vorherigen. Nachdem wir die AnyBitmap-Liste ausgefüllt hatten, durchliefen wir die Liste und riefen die Methode "Read" für jedes AnyBitmap-Objekt als Parameter auf, die dann IronBarcode.BarcodeResults zurückgab. Wir haben dann das zurückgegebene Objekt durchlaufen, um den Barcodewert auf der Konsole auszugeben.
Der Funktionsumfang von IronSoftware.Drawing ist nicht nur auf das Gießen von Bildern beschränkt. Sie wird auch in anderen Bereichen der Bildverarbeitung stark genutzt, z. B. für Farben und Schriftarten, die bei der Gestaltung von Strichcodes und QR-Codes nützlich sind. Die Benutzer können erkunden, wie wir IronDrawing einsetzen, umanpassen und Hinzufügen von Logos zu QR-Codes.