Bauen | Codeabdeckung | Build-Status | NuGet-Paket |
---|---|---|---|
Neueste / Stabile Version |
QRCoder ist eine einfache, in C#.NET geschriebene Bibliothek, mit der Sie QR-Codes erstellen können. Es weist keine Abhängigkeiten zu externen Bibliotheken 1 auf, ist als Paket auf NuGet verfügbar und unterstützt .NET Framework, .NET Core, .NET Standard und .NET. Eine vollständige Liste der unterstützten Ziel-Frameworks finden Sie hier.
Fühlen Sie sich frei, das Projekt aufzugreifen/zu teilen und es zu verbessern!
Weitere Informationen finden Sie unter: QRCode Wiki | Blog des Erstellers (englisch) | Blog des Erstellers (deutsch)
Die Versionshinweise für die aktuelle und alle vergangenen Versionen können Sie hier lesen: ? Versionshinweise
QRCoder ist ein Projekt von Raffael Herrmann und wurde erstmals 10/2013 veröffentlicht. Es ist unter der MIT-Lizenz lizenziert.
Schauen Sie sich entweder dieses Github-Repository an oder installieren Sie QRCoder über den NuGet Package Manager. Wenn Sie NuGet verwenden möchten, suchen Sie einfach nach „QRCoder“ oder führen Sie den folgenden Befehl in der NuGet Package Manager-Konsole aus:
PM > Install-Package QRCoder
Der NuGet-Feed enthält nur Haupt-/stabile Versionen. Wenn Sie die neuesten Funktionen und Features wünschen, können Sie die CI-Builds über Github-Pakete nutzen. (Weitere Informationen zur Verwendung von Github-Paketen im Nuget Package Manager finden Sie hier.)
Sie benötigen nur ein paar Codezeilen, um Ihren ersten QR-Code zu generieren.
using ( QRCodeGenerator qrGenerator = new QRCodeGenerator ( ) )
using ( QRCodeData qrCodeData = qrGenerator . CreateQrCode ( " The text which should be encoded. " , QRCodeGenerator . ECCLevel . Q ) )
using ( PngByteQRCode qrCode = new PngByteQRCode ( qrCodeData ) )
{
byte [ ] qrCodeImage = qrCode . GetGraphic ( 20 ) ;
}
Es gibt noch viele andere Möglichkeiten. Lesen Sie mehr dazu in unserem Wiki: Wiki: So verwenden Sie QRCoder
Neben der normalen PngByteQRCode-Klasse (die im Beispiel oben gezeigt wird) zum Erstellen von QR-Codes im Bitmap-Format gibt es noch einige weitere QR-Code-Rendering-Klassen, jede für einen anderen speziellen Zweck.
Hinweis: Bitte beachten Sie, dass nicht alle Renderer auf allen Ziel-Frameworks verfügbar sind. Bitte überprüfen Sie die Kompatibilitätstabelle in unserem Wiki, um zu sehen, ob ein bestimmter Renderer auf Ihrem bevorzugten Zielframework verfügbar ist.
Für weitere Informationen zu den verschiedenen Rendering-Typen klicken Sie auf einen der Typen in der Liste oben oder schauen Sie sich Folgendes an: Wiki: Erweiterte Verwendung – QR-Code-Renderer
Technisch gesehen ist ein QR-Code lediglich eine visuelle Darstellung eines Textes/einer Zeichenfolge. Dennoch können die meisten QR-Code-Leser „spezielle“ QR-Codes lesen, die unterschiedliche Aktionen auslösen.
Zum Beispiel: WiFi-QRcodes, die beim Scannen mit dem Smartphone das Smartphone automatisch mit einem Zugangspunkt verbinden.
Diese „speziellen“ QR-Codes werden durch die Verwendung einer speziell strukturierten Nutzlastzeichenfolge beim Generieren des QR-Codes generiert. Die Klasse PayloadGenerator.cs hilft Ihnen beim Generieren dieser Nutzlastzeichenfolgen. Um beispielsweise eine WiFi-Payload zu generieren, benötigen Sie nur diese eine Codezeile:
PayloadGenerator . WiFi wifiPayload = new PayloadGenerator . WiFi ( " MyWiFi-SSID " , " MyWiFi-Pass " , PayloadGenerator . WiFi . Authentication . WPA ) ;
Um aus dieser Nutzlast einen QR-Code zu generieren, rufen Sie einfach die „ToString()“-Methode auf und übergeben Sie diese an den QRCoder.
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload . ToString ( ) , QRCodeGenerator . ECCLevel . Q ) ;
//[...]
Sie können auch eine überladene Methode verwenden, die Payload als Parameter akzeptiert. Für den Payload-Generator können die QR-Code-Version (Standard ist automatische Einstellung), der ECC-Level (Standard ist M) und der ECI-Modus (Standard ist automatische Erkennung) eingestellt sein.
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload ) ;
//[...]
Wenn Sie den vom Payload-Generator festgelegten ECC-Level überschreiben möchten, können Sie die überladene Methode verwenden, die das Festlegen des ECC-Levels ermöglicht.
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload , QRCodeGenerator . ECCLevel . Q ) ;
//[...]
Mehr über den Nutzlastgenerator erfahren Sie in unserem Wiki.
Der PayloadGenerator unterstützt die folgenden Arten von Nutzlasten:
(1) Abhängig vom Zielframework werden die .NET-Bibliotheken System.Drawing.Common und System.Text.Encoding.CodePages als Paketabhängigkeiten verwendet.