Construir | Cobertura de código | Status da compilação | Pacote NuGet |
---|---|---|---|
Mais recente / estável |
QRCoder é uma biblioteca simples, escrita em C#.NET, que permite criar códigos QR. Não possui dependências de bibliotecas externas 1 , está disponível como pacote no NuGet e oferece suporte a .NET Framework, .NET Core, .NET Standard e .NET. Uma lista completa de estruturas de destino suportadas pode ser encontrada aqui.
Sinta-se à vontade para pegar/desembolsar o projeto e torná-lo melhor!
Para mais informações veja: QRCode Wiki | Blog do criador (inglês) | Blog do criador (alemão)
As notas de lançamento das versões atuais e anteriores podem ser lidas aqui: ? Notas de versão
QRCoder é um projeto de Raffael Herrmann e foi lançado pela primeira vez em 10/2013. É licenciado sob a licença do MIT.
Faça check-out deste repositório Github ou instale o QRCoder por meio do NuGet Package Manager. Se você quiser usar o NuGet, basta procurar "QRCoder" ou executar o seguinte comando no console do NuGet Package Manager:
PM > Install-Package QRCoder
O feed do NuGet contém apenas versões principais/estáveis . Se quiser as funções e recursos mais recentes, você pode usar as compilações de CI por meio de pacotes do Github. (Mais informações sobre como usar pacotes Github no Nuget Package Manager podem ser encontradas aqui.)
Você só precisa de algumas linhas de código para gerar seu primeiro 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 ) ;
}
Existem muitas outras opções. Então fique à vontade para ler mais sobre isso em nosso wiki: Wiki: Como usar o QRCoder
Além da classe PngByteQRCode normal (que é mostrada no exemplo acima) para criar códigos QR em formato Bitmap, existem mais algumas classes de renderização de código QR, cada uma para outro propósito especial.
Nota: Esteja ciente de que nem todos os renderizadores estão disponíveis em todas as estruturas de destino. Por favor, verifique a tabela de compatibilidade em nosso wiki para ver se um renderizador específico está disponível em sua estrutura de destino favorita.
Para mais informações sobre os diferentes tipos de renderização clique em um dos tipos da lista acima ou dê uma olhada em: Wiki: Uso avançado - renderizadores de QR-Code
Tecnicamente, o código QR é apenas uma representação visual de um texto/string. No entanto, a maioria dos leitores de códigos QR podem ler códigos QR "especiais" que desencadeiam ações diferentes.
Por exemplo: códigos QR WiFi que, quando digitalizados pelo smartphone, permitem que o smartphone se conecte automaticamente a um ponto de acesso.
Esses códigos QR "especiais" são gerados usando uma string de carga útil estruturada especial, ao gerar o código QR. A classe PayloadGenerator.cs ajuda você a gerar essas strings de carga útil. Para gerar uma carga WiFi, por exemplo, você precisa apenas desta linha de código:
PayloadGenerator . WiFi wifiPayload = new PayloadGenerator . WiFi ( " MyWiFi-SSID " , " MyWiFi-Pass " , PayloadGenerator . WiFi . Authentication . WPA ) ;
Para gerar um código QR a partir deste payload, basta chamar o método "ToString()" e passá-lo para o QRCoder.
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload . ToString ( ) , QRCodeGenerator . ECCLevel . Q ) ;
//[...]
Você também pode usar um método sobrecarregado que aceita Payload como parâmetro. O gerador de carga útil pode ter a versão do código QR definida (o padrão é configuração automática), nível ECC (o padrão é M) e modo ECI (o padrão é detecção automática).
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload ) ;
//[...]
Ou se você deseja substituir o nível ECC definido pelo gerador de carga útil, você pode usar o método sobrecarregado, que permite definir o nível ECC.
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload , QRCodeGenerator . ECCLevel . Q ) ;
//[...]
Você pode aprender mais sobre o gerador de carga útil em nosso Wiki.
O PayloadGenerator oferece suporte aos seguintes tipos de cargas:
(1) Dependendo da estrutura de destino, as bibliotecas .NET System.Drawing.Common e System.Text.Encoding.CodePages serão usadas como dependências de pacote.