Construir | Cobertura de código | Estado de construcción | Paquete NuGet |
---|---|---|---|
Último / Estable |
QRCoder es una biblioteca sencilla, escrita en C#.NET, que le permite crear códigos QR. No depende de bibliotecas externas 1 , está disponible como paquete en NuGet y es compatible con .NET Framework, .NET Core, .NET Standard y .NET. Puede encontrar una lista completa de los marcos de destino compatibles aquí.
¡Siéntete libre de tomar/bifurcar el proyecto y mejorarlo!
Para obtener más información, consulte: QRCode Wiki | Blog del creador (inglés) | Blog del creador (alemán)
Las notas de la versión actual y todas las versiones anteriores se pueden leer aquí: ? Notas de la versión
QRCoder es un proyecto de Raffael Herrmann y se lanzó por primera vez en octubre de 2013. Tiene licencia bajo la licencia MIT.
Consulte este repositorio de Github o instale QRCoder a través del Administrador de paquetes NuGet. Si desea utilizar NuGet, simplemente busque "QRCoder" o ejecute el siguiente comando en la consola del Administrador de paquetes NuGet:
PM > Install-Package QRCoder
La fuente NuGet contiene solo versiones principales/estables . Si desea las funciones y características más recientes, puede utilizar las compilaciones de CI a través de paquetes de Github. (Puede encontrar más información sobre cómo usar paquetes Github en Nuget Package Manager aquí).
Solo necesita un par de líneas de código para generar su primer código 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 ) ;
}
Hay muchas otras opciones. Así que siéntete libre de leer más sobre esto en nuestra wiki: Wiki: Cómo usar QRCoder
Además de la clase normal PngByteQRCode (que se muestra en el ejemplo anterior) para crear códigos QR en formato Bitmap, existen algunas clases más de representación de códigos QR, cada una para un propósito especial.
Nota: tenga en cuenta que no todos los renderizadores están disponibles en todos los marcos de destino. Consulte la tabla de compatibilidad en nuestra wiki para ver si un renderizador específico está disponible en su marco de destino favorito.
Para obtener más información sobre los diferentes tipos de renderizado, haga clic en uno de los tipos de la lista anterior o consulte: Wiki: Uso avanzado: renderizadores de códigos QR
Técnicamente, el código QR es solo una representación visual de un texto/cadena. Sin embargo, la mayoría de lectores de códigos QR pueden leer códigos QR "especiales" que desencadenan diferentes acciones.
Por ejemplo: códigos WiFi-QR que, cuando se escanean con un teléfono inteligente, permiten que éste se una a un punto de acceso automáticamente.
Estos códigos QR "especiales" se generan mediante el uso de una cadena de carga útil estructurada especial al generar el código QR. La clase PayloadGenerator.cs le ayuda a generar estas cadenas de carga útil. Para generar una carga útil WiFi, por ejemplo, solo necesitas esta línea de código:
PayloadGenerator . WiFi wifiPayload = new PayloadGenerator . WiFi ( " MyWiFi-SSID " , " MyWiFi-Pass " , PayloadGenerator . WiFi . Authentication . WPA ) ;
Para generar un código QR a partir de esta carga útil, simplemente llame al método "ToString()" y páselo al QRCoder.
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload . ToString ( ) , QRCodeGenerator . ECCLevel . Q ) ;
//[...]
También puede utilizar un método sobrecargado que acepte Payload como parámetro. El generador de carga útil puede tener configurada la versión del código QR (el valor predeterminado es la configuración automática), el nivel ECC (el valor predeterminado es M) y el modo ECI (el valor predeterminado es la detección automática).
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload ) ;
//[...]
O si desea anular el nivel ECC establecido por el generador de carga útil, puede usar el método sobrecargado, que permite configurar el nivel ECC.
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload , QRCodeGenerator . ECCLevel . Q ) ;
//[...]
Puede obtener más información sobre el generador de carga útil en nuestra Wiki.
PayloadGenerator admite los siguientes tipos de cargas útiles:
(1) Dependiendo del marco de trabajo de destino, las bibliotecas .NET System.Drawing.Common y System.Text.Encoding.CodePages se utilizarán como dependencias del paquete.