Wie man QR-Codes in C# erstellt

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

von Curtis Chau

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

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")
VB   C#

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")
VB   C#

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")
VB   C#

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
Beim Verwenden der 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")
VB   C#

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
Beachten Sie, dass System.Drawing.Common nur auf der Windows-Plattform unterstützt wird.

: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")
VB   C#

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
Diese Methode basiert auf den PDF-Seiten, wobei die Seitennummerierung bei 1 statt bei 0 beginnt.

: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)
VB   C#

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)
VB   C#

Ausgabe von beiden Beispielen

Alternativtext


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")
VB   C#

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")
VB   C#

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.

Alternativtext

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")
VB   C#

Alternativtext

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")
VB   C#

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")
VB   C#

Alternativtext

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")
VB   C#

Alternativtext

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")
VB   C#

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")
VB   C#

Alternativtext

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")
VB   C#

Alternativtext

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.

    Alternativtext

  • 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.

    Alternativtext

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.