Wie man QR-Codes in C# erstellt
Einführung
Mit IronQR können Entwickler QR-Codes für gängige Bildformate erstellen und diese mit Hintergrundfarben, Rändern, Logos anpassen und sogar zu PDFs hinzufügen. Für fortgeschrittene Anwendungen bietet es auch die Kontrolle über Fehlerkorrektur und Versionen.
Dieser Artikel wird die wichtigsten Funktionen von IronQR mit Beispielen erkunden und Ihnen helfen zu verstehen, wie Sie es zum Erstellen von QR-Codes in C# verwenden und effektiv in Ihren Projekten anwenden können.
Inhaltsübersicht
Eingabedaten
- Binär & Streams
QR-Codes exportieren
- Stempel auf PDF
QR-Code-Optionen
- Zeichenkodierung
QR Code-Styling
Beginnen Sie noch heute mit der Verwendung von IronQR in Ihrem Projekt mit einer kostenlosen Testversion.
Eingabedaten
Text, URLs, Zahlen
IronQR kann eine Vielzahl von Datentypen, einschließlich Text, URLs und Zahlen, in QR-Codes umwandeln. Egal, ob Sie QR-Code-Links oder Text für Marketing und Kommunikation erstellen, numerische Codes für die Lagerverwaltung verwenden oder Binärdaten oder Streams in lesbare QR-Codes codieren, IronQR bietet Ihnen die gesamte benötigte Unterstützung.
Außerdem ist die API unkompliziert. Die QrWriter-Klasse bietet mehrere Überladungen an, die verschiedene Arten von Daten als Input ermöglichen, die Komplexität reduzieren und den Prozess vereinfachen.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-1.cs
using IronQr;
using IronSoftware.Drawing;
string text = "Hello, World!";
string url = "https://ironsoftware.com/csharp/qr/";
string alphanumeric = "WATERSKU-12356";
// Create QR code
QrCode textQr = QrWriter.Write(text);
// Save QR code as a bitmap
AnyBitmap textQrImage = textQr.Save();
// Save QR code as file
textQrImage.SaveAs("textQr.png");
QrCode urlQr = QrWriter.Write(url);
AnyBitmap urlQrImage = urlQr.Save();
urlQrImage.SaveAs("urlQr.png");
QrCode alphanumericQr = QrWriter.Write(alphanumeric);
AnyBitmap alphanumericQrImage = alphanumericQr.Save();
alphanumericQrImage.SaveAs("alphanumericQr.png");
Imports IronQr
Imports IronSoftware.Drawing
Private text As String = "Hello, World!"
Private url As String = "https://ironsoftware.com/csharp/qr/"
Private alphanumeric As String = "WATERSKU-12356"
' Create QR code
Private textQr As QrCode = QrWriter.Write(text)
' Save QR code as a bitmap
Private textQrImage As AnyBitmap = textQr.Save()
' Save QR code as file
textQrImage.SaveAs("textQr.png")
Dim urlQr As QrCode = QrWriter.Write(url)
Dim urlQrImage As AnyBitmap = urlQr.Save()
urlQrImage.SaveAs("urlQr.png")
Dim alphanumericQr As QrCode = QrWriter.Write(alphanumeric)
Dim alphanumericQrImage As AnyBitmap = alphanumericQr.Save()
alphanumericQrImage.SaveAs("alphanumericQr.png")
Binär & Streams
Ähnlich können wir Binärdaten und Streams in QR-Codes umwandeln, indem wir die gleiche Write
-Methode verwenden, wie zuvor erwähnt.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-2.cs
using IronQr;
using IronSoftware.Drawing;
using System.Text;
byte[] bytes = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/");
// Create QR code
QrCode bytesQr = QrWriter.Write(bytes);
// Save QR code as a bitmap
AnyBitmap qrImage = bytesQr.Save();
// Save QR code bitmap to file
qrImage.SaveAs("bytesQr.png");
Imports IronQr
Imports IronSoftware.Drawing
Imports System.Text
Private bytes() As Byte = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/")
' Create QR code
Private bytesQr As QrCode = QrWriter.Write(bytes)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = bytesQr.Save()
' Save QR code bitmap to file
qrImage.SaveAs("bytesQr.png")
Die Write
-Methode verfügt über Überladungen, die sowohl Byte-Arrays als auch Streams als Eingaben akzeptieren. Für Streams können wir einen MemoryStream aus dem Byte-Array erstellen und ihn dann in einen QR-Code konvertieren. Dies ist nützlich, wenn Benutzer eine feinere Kontrolle über Datenblöcke benötigen, da Streams speichereffizienter sein können.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-3.cs
using IronQr;
using IronSoftware.Drawing;
using System.IO;
using System.Text;
MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/"));
// Create QR code
QrCode streamQr = QrWriter.Write(stream);
// Save QR code as a bitmap
AnyBitmap streamQrImage = streamQr.Save();
// Save QR code bitmap as file
streamQrImage.SaveAs("streamQr.png");
Imports IronQr
Imports IronSoftware.Drawing
Imports System.IO
Imports System.Text
Private stream As New MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/"))
' Create QR code
Private streamQr As QrCode = QrWriter.Write(stream)
' Save QR code as a bitmap
Private streamQrImage As AnyBitmap = streamQr.Save()
' Save QR code bitmap as file
streamQrImage.SaveAs("streamQr.png")
QR-Codes exportieren
IronQR ist flexibel und anpassungsfähig an verschiedene Anwendungsfälle, die unterschiedliche Dateiformate erfordern. Sie können QR-Codes in mehreren Formaten wie JPG, PNG, GIF und TIFF mit der SaveAs
-Methode speichern.
Als Bild speichern
Die SaveAs
-Methode von AnyBitmap erkennt automatisch das Dateiformat basierend auf dem angegebenen Dateipfad. In diesem Beispiel habe ich einen Dateipfad angegeben, der mit .png endet.
Bitte beachten Sie
SaveAs
-Methode beachten Sie bitte, dass es kein Standardbildformat gibt. Wenn Sie eine nicht erkannte Erweiterung eingeben oder einen Tippfehler im Dateipfad machen, wird das Bild mit der falschen Erweiterung gespeichert.:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-4.cs
using IronQr;
using IronSoftware.Drawing;
// Create a QR code object
QrCode qr = QrWriter.Write("hello world");
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qr.png");
Imports IronQr
Imports IronSoftware.Drawing
' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qr.png")
System.Drawing.Images
Das Konvertieren von Bildern in das System.Drawing.Images-Objekt von Microsoft ermöglicht es Ihnen, die Bitmap-Klasse zu verwenden, um den QR-Code in einem Dateipfad zu speichern. In diesem Beispiel speichert die Methode Save
den QR-Code als PNG-Datei unter dem Pfad 'qrBitmap.png'.
Bitte beachten Sie
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-5.cs
using IronQr;
using System.Drawing;
// Create a QR code object
QrCode qr = QrWriter.Write("hello world");
// Save QR code as a bitmap
Bitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.Save("qrBitmap.png");
Imports IronQr
Imports System.Drawing
' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")
' Save QR code as a bitmap
Private qrImage As Bitmap = qr.Save()
' Save QR code bitmap as file
qrImage.Save("qrBitmap.png")
IronSoftware.Drawing
Aufgrund der fehlenden plattformübergreifenden Kompatibilität von System.Drawing.Common können Entwickler auf Probleme stoßen, wenn sie plattformübergreifende Anwendungen warten. IronQR kann sowohl System.Drawing.Common als auch IronSoftware.Drawing verwenden.
IronQR verwendet die AnyBitmap-Klasse vonIronSoftware.Drawing, eine universell kompatible Bitmap-Klasse, die implizit in Folgendes umgewandelt wird:
- System.Drawing.Bitmap
- System.Drawing.Image
- SkiaSharp.SKBitmap
- SixLabors.ImageSharp
Microsoft.Maui.Graphics.Platform.PlatformImage
Mit dieser leistungsstarken Open-Source-Bibliothek erreicht IronQR plattformübergreifende Unterstützung und Kompatibilität mit .NET 8, .NET 7, .NET 6, .NET 5, .NET Core, .NET Standard und .NET Framework 4.6.2+. Um mehr über die Bibliothek zu erfahren, lesen Sie bitte unterIronSoftware.Drawing website.
Stempel auf PDF
IronQR ermöglicht es Entwicklern, QR-Codes auf bestehende PDF-Dokumente zu stempeln, was es anderen erleichtert, schnell auf Links oder zusätzliche Ressourcen zuzugreifen. Das Stempeln von QR-Codes auf einzelnen und mehreren Seiten wird unterstützt.
Auf eine einzelne Seite stempeln
Nachdem Sie den QR-Code erstellt haben, rufen Sie die Methode StampToExistingPdfPage
vom QrCode-Objekt auf. Diese Methode erfordert den Dateipfad, Koordinaten(x und y)Seitenzahl und ein optionales Passwort, falls das PDF passwortgeschützt ist. Sobald die Argumente bereitgestellt sind, stempelt die Methode den QR-Code und speichert das PDF.
Bitte beachten Sie
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-6.cs
using IronQr;
// Create a QR code object
QrCode qr = QrWriter.Write("hello world");
string filepath = "example.pdf";
int x = 100;
int y = 150;
int page = 1;
// Stamp QR code to (100, 150) of the pdf on page 1
qr.StampToExistingPdfPage(filepath, x, y, page);
Imports IronQr
' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")
Private filepath As String = "example.pdf"
Private x As Integer = 100
Private y As Integer = 150
Private page As Integer = 1
' Stamp QR code to (100, 150) of the pdf on page 1
qr.StampToExistingPdfPage(filepath, x, y, page)
Stempel auf mehrere Seiten
Ähnlich wie im obigen Beispiel besteht der Hauptunterschied darin, dass die Methode StampToExistingPdfPages
eine Liste von Seitenzahlen anstelle nur einer einzelnen Zahl nimmt.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-7.cs
using IronQr;
using System.Collections.Generic;
// Create a QR code object
QrCode qr = QrWriter.Write("hello world");
string filepath = "example.pdf";
int x = 100;
int y = 150;
List<int> pages = new List<int>();
pages.Add(1);
pages.Add(2);
pages.Add(3);
pages.Add(4);
// Stamp QR code to (100, 150) of the pdf on pages 1-4
qr.StampToExistingPdfPages(filepath, x, y, pages);
Imports IronQr
Imports System.Collections.Generic
' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")
Private filepath As String = "example.pdf"
Private x As Integer = 100
Private y As Integer = 150
Private pages As New List(Of Integer)()
pages.Add(1)
pages.Add(2)
pages.Add(3)
pages.Add(4)
' Stamp QR code to (100, 150) of the pdf on pages 1-4
qr.StampToExistingPdfPages(filepath, x, y, pages)
Ausgabe von beiden Beispielen
QR-Code-Optionen
IronQR bietet umfangreiche Anpassungsoptionen zur Feinabstimmung des Verhaltens und der Funktionalität von QR-Codes. Die Klasse QrOptions bietet mehrere Parameter, wie Versionskontrolle, Kodierungstyp, Zeichenkodierung und Fehlerschutzstufen. Lassen Sie uns diese Optionen genauer erkunden.
Kodierung
IronQR unterstützt mehrere Arten von QR-Codes sowohl für die Erstellung als auch das Lesen. Unten sind die unterstützten Typen:
- QRCode: Dies ist der Standard-QR-Code, der heutzutage häufig verwendet wird. Es kann bis zu 7.089 numerische Zeichen oder 4.296 alphanumerische Zeichen speichern.
- MicroQRCode: Eine kleinere Version des standardmäßigen QR-Codes, die bis zu 35 numerische Zeichen oder 21 alphanumerische Zeichen speichern kann.
- RMQRCode: Der rechteckige Micro-QR-Code ist eine kompakte Version des QR-Codes und bietet Flexibilität im Seitenverhältnis.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-8.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions
{
// Change encoding to micro QR code
Encoding = IronQr.Enum.QrEncoding.MicroQRCode,
};
// Create QR code
QrCode qr = QrWriter.Write("1234", options);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing
Private options As New QrOptions With {.Encoding = IronQr.Enum.QrEncoding.MicroQRCode}
' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
Fehlerkorrektur
IronQR verwendet die standardmäßige QR-Fehlerkorrektur, um sicherzustellen, dass alle erzeugten QR-Codes fehlertolerant und zuverlässig sind, selbst unter schwierigen Bedingungen. Darüber hinaus ermöglicht Ihnen IronQR die vollständige Kontrolle über das Fehlerkorrekturniveau für eine weitere Feinabstimmung.
Es gibt vier Ebenen der Fehlerkorrektur, die von QrErrorCorrectionLevel bereitgestellt werden:
- Höchste: 30% Fehlerkorrektur
- Hoch: 25% Fehlerkorrektur
- Medium: 15% Fehlerkorrektur
- Niedrig: 7% Fehlerkorrektur
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-9.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions
{
// Change error correction level to medium
ErrorCorrectionLevel = QrErrorCorrectionLevel.Medium,
};
// Create QR code
QrCode qr = QrWriter.Write("1234", options);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing
Private options As New QrOptions With {.ErrorCorrectionLevel = QrErrorCorrectionLevel.Medium}
' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
Höhere Fehlerkorrektur bietet eine größere Fehlertoleranz beim Lesen des QR-Codes, wodurch es wahrscheinlicher wird, dass er bei niedrigeren Auflösungen gescannt wird im Vergleich zu einem mit niedriger Fehlerkorrektur. Sie können basierend auf Ihren Anwendungsfällen testen.
QR-Code-Version
Sie können die QR-Code-Version anpassen, um mehr Daten zu speichern. Höhere Versionen sind ideal für Inventar oder Logistik, während niedrigere Versionen gut für kleinere Daten, wie kurze URLs, geeignet sind. Ändern Sie einfach die Version-Eigenschaft im QrOptions-Objekt und übergeben Sie sie an die Write
-Methode, um den QR-Code nach Bedarf zu generieren.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-10.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions
{
// Change QR code version to 40
Version = 40,
};
// Create QR code
QrCode qr = QrWriter.Write("1234", options);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing
Private options As New QrOptions With {.Version = 40}
' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
Wie Sie am Output sehen können, ist die Version 40 des QR-Codes im Vergleich zur Version 5 sehr komplex und dicht.
Niedrigere Versionen erfordern präzisere Scans und können ohne Scanner mit höherer Auflösung schwer zu scannen sein. Höhere Versionen sind jedoch leichter zu scannen, selbst mit Kameras mit niedrigerer Auflösung. Für eine detailliertere Anleitung zur Auswahl der QR-Version basierend auf der Kapazität, beachten Sie bitte dieQR-Versionsliste.
Zeichenkodierung
Diese Option bestimmt, wie der QR-Code kodiert wird. In unserem Beispiel haben wir es in 'UTF-32' geändert, während die standardmäßige Zeichencodierung 'ISO-8859-1' ist.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-11.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions
{
// Change character encoding to UTF-32
CharacterEncoding = "UTF-32"
};
// Create QR code
QrCode qr = QrWriter.Write("1234", options);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing
Private options As New QrOptions With {.CharacterEncoding = "UTF-32"}
' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
QR-Code-Styling
Zusätzlich zu seinen benutzerfreundlichen Methoden und der Flexibilität bei der Verarbeitung von Eingabedaten bietet IronQR viele Möglichkeiten zur Anpassung und Gestaltung von QR-Codes, um sie einzigartig zu machen. Die QrStyleOptions-Klasse bietet verschiedene Parameter zur Anpassung aller Aspekte eines QR-Codes. Lassen Sie uns die verfügbaren Optionen erkunden.
Größe ändern
Um den QR-Code zu skalieren, können Sie die Dimensions-Eigenschaft des QrStyleOptions-Objekts festlegen und anschließend an die Save
-Methode übergeben. Standardmäßig wird der QR-Code mit 300px gespeichert. In diesem Beispiel haben wir den QR-Code mit 600px statt 300px gespeichert.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-12.cs
using IronQr;
using IronSoftware.Drawing;
QrStyleOptions styleOptions = new QrStyleOptions()
{
// Change the dimensions to 600px
Dimensions = 600,
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLResized.png");
Imports IronQr
Imports IronSoftware.Drawing
Private styleOptions As New QrStyleOptions() With {.Dimensions = 600}
Private url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Private qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLResized.png")
Ränder und Umrandungen
Um die Ränder und Begrenzungen anzupassen, können wir die Margins-Eigenschaft der QrStyleOptions-Klasse verwenden. Diese Eigenschaft steuert die Ränder des QR-Codes auf allen Seiten, mit einem Standardwert von 10px. In unserem Beispiel haben wir den Rand auf 20px gesetzt.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-13.cs
using IronQr;
using IronSoftware.Drawing;
QrStyleOptions styleOptions = new QrStyleOptions()
{
// Change margins to 20px
Margins = 20
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png");
Imports IronQr
Imports IronSoftware.Drawing
Private styleOptions As New QrStyleOptions() With {.Margins = 20}
Private url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Private qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png")
Ränder für jede Seite ändern
IronQR ermöglicht es Benutzern auch, unterschiedliche Ränder für jede Seite festzulegen und bietet somit eine detailliertere Steuerung.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-14.cs
using IronQr;
using IronSoftware.Drawing;
QrStyleOptions styleOptions = new QrStyleOptions()
{
// Change margins
MarginBottom = 30,
MarginTop = 100,
MarginRight = 40,
MarginLeft = 20,
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png");
Imports IronQr
Imports IronSoftware.Drawing
Private styleOptions As New QrStyleOptions() With {
.MarginBottom = 30,
.MarginTop = 100,
.MarginRight = 40,
.MarginLeft = 20
}
Private url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Private qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png")
Umfärben
Wir können Farben zum QR-Code und seinem Hintergrund mithilfe der QrStyleOptions-Klasse hinzufügen. Die Anpassung der Farben macht den QR-Code einzigartiger und auffälliger. Sie können die Farbe mit den Eigenschaften Color und BackgroundColor ändern. Stellen Sie sicher, dass Sie IronSoftware.Drawing importieren, um eine Liste der verfügbaren Farben zum Zuweisen zu erhalten.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-15.cs
using IronQr;
using IronSoftware.Drawing;
QrStyleOptions styleOptions = new QrStyleOptions()
{
// Change color
BackgroundColor = Color.Blue,
Color = Color.Red
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png");
Imports IronQr
Imports IronSoftware.Drawing
Private styleOptions As New QrStyleOptions() With {
.BackgroundColor = Color.Blue,
.Color = Color.Red
}
Private url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Private qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png")
Logo hinzufügen
Zusätzlich zu Farben und Abmessungen können Sie auch Ihr Firmenlogo auf den QR-Code anwenden. Dies hilft den Benutzern, den QR-Code sofort zu erkennen und mit Ihrer Marke in Verbindung zu bringen. Die Logo-Eigenschaft ermöglicht es, einen QR-Code einfach zu individualisieren, indem das Logo Ihres Unternehmens hinzugefügt wird.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-15.cs
using IronQr;
using IronSoftware.Drawing;
QrStyleOptions styleOptions = new QrStyleOptions()
{
// Change color
BackgroundColor = Color.Blue,
Color = Color.Red
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png");
Imports IronQr
Imports IronSoftware.Drawing
Private styleOptions As New QrStyleOptions() With {
.BackgroundColor = Color.Blue,
.Color = Color.Red
}
Private url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Private qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png")
Passen Sie das Logo an
Die QrLogo-Klasse ermöglicht eine weitere Anpassung des Erscheinungsbildes des Logos. Nachstehend finden Sie die verfügbaren Immobilien:
- Bitmap: Repräsentiert das Bild, das Sie als Logo verwenden möchten.
- Breite: Stellt die Breite des Logos dar. Der Standardwert ist 0.
- Höhe: Stellt die Höhe des Logos dar. Der Standardwert ist 0.
- CornerRadius: Stellt den Radius für das Abrunden der Ecken des Logos dar. Standardmäßig ist es auf 0 gesetzt, was bedeutet, dass das Logo quadratische Ecken haben wird.
Überprüfung der Fehlertoleranz
Zusätzlich zur umfangreichen Flexibilität bei Dateiformaten und Anpassungen erstreckt sich die Flexibilität auch auf Debugging- und Fehlerbehandlungsaspekte. IronQR bietet Entwicklern verschiedene Tools zum Umgang mit Ausnahmen und zum Schreiben von Unit-Tests zur Überprüfung von Anwendungen.
Prüfsummen
QR-Codes können manchmal beschädigt werden, aber IronQR enthält integrierte Prüfsummen und Datenkorrektur, um sie funktionsfähig zu halten. Es verwendet dieReed-Solomon-Fehlerkorrekturalgorithmus, indem sichergestellt wird, dass QR-Codes fehlertolerant bleiben.
Detaillierte Fehlermeldungen
IronQR liefert detaillierte Fehlermeldungen, die Benutzern helfen, Probleme schnell zu identifizieren. Diese Nachrichten enthalten eine Liste spezifischer Ausnahmen, wodurch das Debuggen und die Problemlösung einfacher werden. Nachfolgend finden Sie eine Liste der IronQrException, die von der Bibliothek verwendet werden.
IronQrEncodingException: Eine Unterklasse von IronQrException, dieser Fehler tritt auf, wenn ein Problem beim Schreiben des QR-Codes auftritt. Zum Beispiel erscheint es, wenn ein Benutzer versucht, einen QR-Code aus einer leeren Zeichenfolge zu erstellen.
- IronQrFileException: Eine Unterklasse von IronQrException, dieser Fehler tritt auf, wenn ein problembezogener Dateifehler auftritt.
IronQrPdfPasswordExcception: Eine Unterklasse von IronQrException, dieser Fehler tritt auf, wenn das PDF, das ein Benutzer stempeln möchte, passwortgeschützt ist und entweder kein oder ein falsches Passwort angegeben wird. Es deckt auch andere PDF-bezogene Fehler ab, wie zum Beispiel, wenn die PDF-Datei nicht geöffnet werden kann, wie im Beispiel gezeigt.
Schlussfolgerung
IronQR bietet eine umfassende Reihe von Methoden zum Erstellen und Anpassen von QR-Codes in .NET-Anwendungen. Mit seinen robusten Funktionen können Entwickler problemlos QR-Codes mit verschiedenen Datenkodierungen, visuellen Stilen und Fehlerkorrekturstufen erstellen. Die Unterstützung der Bibliothek für diverse Ausgabeformate und die nahtlose Integration in bestehende Dokumente machen sie zu einem vielseitigen Werkzeug für jedes QR-Code-Projekt. Egal, ob Sie grundlegende QR-Codes oder fortschrittliche, markenspezifische Lösungen benötigen, IronQR bietet die Flexibilität und Funktionalität, um Ihre Anforderungen effizient zu erfüllen.
Um mehr zu erfahren, schauen Sie sich dieIronQR-Dokumentation, beginnen Sie mit der Erkundung mit einer kostenloser Test, und überprüfen Sie die lizenzierungsoptionenum zu sehen, welcher Plan am besten zu Ihren Bedürfnissen passt.