Construire | Couverture du code | Statut de construction | Paquet NuGet |
---|---|---|---|
Dernier / Stable |
QRCoder est une bibliothèque simple, écrite en C#.NET, qui vous permet de créer des codes QR. Il n'a aucune dépendance vis-à-vis de bibliothèques externes 1 , est disponible sous forme de package sur NuGet et prend en charge .NET Framework, .NET Core, .NET Standard et .NET. Une liste complète des frameworks cibles pris en charge peut être trouvée ici.
N'hésitez pas à reprendre le projet et à l'améliorer !
Pour plus d'informations, consultez : QRCode Wiki | Blog du créateur (anglais) | Blog du créateur (allemand)
Les notes de version pour la version actuelle et toutes les versions passées peuvent être lues ici : ? Notes de version
QRCoder est un projet de Raffael Herrmann et a été publié pour la première fois en 10/2013. Il est sous licence MIT.
Soit consultez ce référentiel Github, soit installez QRCoder via NuGet Package Manager. Si vous souhaitez utiliser NuGet, recherchez simplement « QRCoder » ou exécutez la commande suivante dans la console NuGet Package Manager :
PM > Install-Package QRCoder
Le flux NuGet contient uniquement les versions majeures/stables . Si vous souhaitez les dernières fonctions et fonctionnalités, vous pouvez utiliser les versions CI via les packages Github. (Plus d'informations sur l'utilisation des packages Github dans Nuget Package Manager peuvent être trouvées ici.)
Vous n’avez besoin que de quelques lignes de code pour générer votre premier code QR.
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 ) ;
}
Il existe de nombreuses autres options. Alors n'hésitez pas à en savoir plus à ce sujet sur notre wiki : Wiki : Comment utiliser QRCoder
Outre la classe PngByteQRCode normale (montrée dans l'exemple ci-dessus) pour créer des codes QR au format Bitmap, il existe d'autres classes de rendu de code QR, chacune dans un but particulier.
Remarque : Veuillez noter que tous les moteurs de rendu ne sont pas disponibles sur tous les frameworks cibles. Veuillez vérifier le tableau de compatibilité dans notre wiki pour voir si un moteur de rendu spécifique est disponible sur votre framework cible préféré.
Pour plus d'informations sur les différents types de rendu, cliquez sur l'un des types dans la liste ci-dessus ou consultez : Wiki : Utilisation avancée - Rendus QR-Code
Techniquement, le code QR n'est qu'une représentation visuelle d'un texte/d'une chaîne. Néanmoins, la plupart des lecteurs de codes QR peuvent lire des codes QR « spéciaux » qui déclenchent différentes actions.
Par exemple : les QRcodes WiFi qui, une fois scannés par le smartphone, permettent au smartphone de rejoindre automatiquement un point d'accès.
Ces codes QR « spéciaux » sont générés à l’aide d’une chaîne de charge utile structurée spéciale, lors de la génération du code QR. La classe PayloadGenerator.cs vous aide à générer ces chaînes de charge utile. Pour générer une charge utile WiFi par exemple, vous n'avez besoin que de cette seule ligne de code :
PayloadGenerator . WiFi wifiPayload = new PayloadGenerator . WiFi ( " MyWiFi-SSID " , " MyWiFi-Pass " , PayloadGenerator . WiFi . Authentication . WPA ) ;
Pour générer un code QR à partir de cette charge utile, appelez simplement la méthode "ToString()" et transmettez-la au QRCoder.
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload . ToString ( ) , QRCodeGenerator . ECCLevel . Q ) ;
//[...]
Vous pouvez également utiliser une méthode surchargée qui accepte Payload comme paramètre. Le générateur de charge utile peut avoir une version de code QR définie (la valeur par défaut est la configuration automatique), un niveau ECC (la valeur par défaut est M) et un mode ECI (la valeur par défaut est la détection automatique).
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload ) ;
//[...]
Ou si vous souhaitez remplacer le niveau ECC défini par le générateur de charge utile, vous pouvez utiliser une méthode surchargée, qui permet de définir le niveau ECC.
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload , QRCodeGenerator . ECCLevel . Q ) ;
//[...]
Vous pouvez en savoir plus sur le générateur de charge utile dans notre Wiki.
PayloadGenerator prend en charge les types de charges utiles suivants :
(1) En fonction du framework ciblé, les bibliothèques .NET System.Drawing.Common et System.Text.Encoding.CodePages seront utilisées comme dépendances de package.