QR-Codes sind aus dem modernen Alltag nicht mehr wegzudenken. Ob auf Visitenkarten, Werbeplakaten oder Produktverpackungen – sie ermöglichen einen schnellen Zugriff auf digitale Inhalte. Für Entwickler, die in C# arbeiten, bietet die Open-Source-Bibliothek QRCoder eine effiziente Möglichkeit, QR-Codes zu generieren.
Einführung in QRCoder
QRCoder ist eine in C# geschriebene Bibliothek, die das Erstellen von QR-Codes vereinfacht. Sie unterstützt verschiedene QR-Code-Standards und bietet zahlreiche Anpassungsmöglichkeiten. Die Bibliothek ist auf GitHub verfügbar: QRCoder auf GitHub.
Installation
Die Installation von QRCoder erfolgt über NuGet. In Visual Studio kann das Paket mit dem folgenden Befehl in der Package Manager Console installiert werden:
Install-Package QRCoder
Alternativ kann das Paket über die grafische Benutzeroberfläche von NuGet hinzugefügt werden.
Anschließend benötigen wir nur noch die Information, welche im QR-Code gespeichert werden soll, zum Beispiel eine URL oder auch Kontaktinformation. Anschließend können wir mit den Klassen QRCodeGenerator, QRCodeData und PngByteQRCode einen passenden QR-Code generieren, welchen wir dann abspeichern können.
// Show header
ConsoleHelper.ShowHeader();
// Get user input with validation
string text =
ConsoleHelper.GetString("Enter the text to encode into a QR code:");
try
{
// Create QR code
using QRCodeGenerator qrGenerator =
new();
using QRCodeData qrCodeData =
qrGenerator.CreateQrCode(text, QRCodeGenerator.ECCLevel.Q);
using PngByteQRCode qrCode =
new(qrCodeData);
byte[] qrCodeImage =
qrCode.GetGraphic(20);
// Save QR code to file
string qrCodeFilePath =
Path.Combine(Path.GetTempPath(), $"qrcode-{Guid.NewGuid()}.png");
await File.WriteAllBytesAsync(qrCodeFilePath, qrCodeImage);
// Display success message
ConsoleHelper.DisplaySuccess(
$"QR code saved to: [link]{qrCodeFilePath}[/]");
}
catch (Exception ex)
{
// Display error message in case of an exception
ConsoleHelper.DisplayError(
$"An error occurred while generating the QR code: {ex.Message}");
}
Wenn wir unsere Konsolen-Anwendung nun einmal ausführen, können wir einen beliebigen Text in unseren QR-Code encodieren.
Ich habe mich für meine Webseite entschieden und das Ergebnis ist der folgende QR-Code:
Den vollständigen Code zu diesem Beispiel findet ihr in meinem GitHub-Repository.
Fazit
Mit QRCoder steht Entwicklern eine leistungsfähige und flexible Bibliothek zur Verfügung, um QR-Codes in C#-Anwendungen zu integrieren. Die einfache Handhabung und die vielfältigen Anpassungsmöglichkeiten machen QRCoder zu einem wertvollen Werkzeug für die Entwicklung von Anwendungen, die QR-Codes nutzen. Den vollständigen Code findet ihr in meinem GitHub-Repository.