VB .NET - Gerando, Salvando e Lendo QRCode
Neste artigo vou mostrar como gerar, salvar e decodificar código QR (Quick Response) ou QRCode usando a linguagem VB .NET. |
Código QR (sigla do inglês Quick Response) é um código de barras bidimensional que pode ser facilmente escanerizado usando a maioria dos telefones celulares equipados com câmera. Esse código é convertido em texto (interativo), um endereço URI, um número de telefone, uma localização georreferenciada, um e-mail, um contato ou um SMS.
Inicialmente empregado para catalogar peças na produção de veículos, hoje o QR Code é usado no gerenciamento de inventário e controle de estoque em indústrias e comércio. Desde 2003, foram desenvolvidas aplicações que ajudam usuários a inserir dados em telefone celular usando a câmera do aparelho. Os códigos QR são comuns também em revistas e propagandas, para registrar endereços e URLs, bem como informações pessoais detalhadas. Em cartões de visita, por exemplo, o código QR facilita muito a inserção desses dados em agendas de telefones celulares. Programas de captura ou PCs com interface RS-232C podem usar um escâner para capturar as imagens.
O padrão japonês para o código QR, JIS X 0510, foi lançado em janeiro de 1999 e corresponde ao padrão internacional ISO/IEC 18004, tendo sido aprovado em junho de 2000. Segundo o site da Denso-Wave, o "código QR é aberto para uso e sua patente, pela Denso-Wave, não é praticada".
fonte: http://pt.wikipedia.org/wiki/C%C3%B3digo_QR
O QR Code também pode ser usado para adicionar dados num formato de cartão de visita em aparelhos celulares. Para criar o seu próprio QR Code, você pode baixar programas prontos ou pode usar serviços gratuitos disponibilizados em sites. Existem diversos sites que tratam QRCode como este : http://www.qrcode-monkey.com/ ou este : http://e-lemento.com/pt/gerador-qr-code
Neste artigo eu vou gerar, salvar e decodificar códigos QR usando a linguagem Visual Basic .NET e mostrando também a versão para a linguagem C#.
Recursos usados:
Criando o projeto no Visual Studio 2013 Express
Abra o VS Express 2013 for Windows desktop e clique em New Project;
A seguir selecione a linguagem Visual Basic e o template Windows Forms Application;
Informe o nome Geranciado_QRCode e clique no botão OK;
Vamos incluir uma referência a biblioteca Qr Code Library em nosso projeto usando o Nuget.
Para isso clique no menu TOOLS e a seguir selecione Library Package Manager -> Manage Nuget Packages for Solution...
A seguir vamos procurar localizar a biblioteca Qr Code library e a seguir clicar no botão Install;
Confirme a instalação e após o término do processo clique no botão Close.
Na janela Solution Explorer você deverá ver a referência a biblioteca : MessagingToolkit.QRCode
A seguir vamos definir a interface com o usuário.
A partir da ToolBox inclua os seguinte controles no formulário form1.vb:
Disponha os controles conforme o leiaute da figura abaixo:
Precisamos definir as declarações ao namespaces da biblioteca Qr Code library no formulário. Para isso vamos declarar:
Imports
MessagingToolkit.QRCode.CodecAgora vamos definir o código no evento Click de cada um dos botões de comando do formulário:
1- Gerar QRCode
Private Sub btnGerarQRCode_Click(sender As Object, e As EventArgs) Handles btnGerarQRCode.Click
If Not String.IsNullOrWhiteSpace(txtUrl.Text) Then
Try
tamanhoNormaldoForm()
Dim url As String = txtUrl.Text
Dim qrencod As New QRCodeEncoder()
Dim qrcode As Bitmap = qrencod.Encode(url)
picImagem.Image = TryCast(qrcode, Image)
Catch ex As Exception
MessageBox.Show("Erro : " + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
Else
MessageBox.Show("Informe uma texto para gerar o QRCode", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
|
O código cria uma instância da classe QRCodeEncoder() e usa o método Encode() para gerar o QRCode exibindo-o no controle PictureBox- picImagem.
2- Salvar QRCode
Private Sub btrnSalvarQRCode_Click(sender As Object, e As EventArgs) Handles btrnSalvarQRCode.Click
If Not IsNothing(picImagem.Image) Then
Try
tamanhoNormaldoForm()
Dim sfd As New SaveFileDialog()
sfd.InitialDirectory = "c:\QrCode\"
sfd.Filter = "PNG | *.png| JPEG| *.jpg | BMP| *.bmp"
If sfd.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
picImagem.Image.Save(sfd.FileName)
End If
Catch ex As Exception
MessageBox.Show("Erro : " + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
Else
MessageBox.Show("Não existem imagem QRCode", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
|
O código apenas salva a imagem QRCode gerada.
3- Carregar QRCode
Private Sub btnCarregarQRCode_Click(sender As Object, e As EventArgs) Handles btnCarregarQRCode.Click
Try
tamanhoNormaldoForm()
Dim ofd As New OpenFileDialog()
ofd.InitialDirectory = "c:\QrCode\"
If ofd.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
picImagem.ImageLocation = ofd.FileName
End If
Catch ex As Exception
MessageBox.Show("Erro : " + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
|
Neste código podemos carregar uma imagem de um QRCode gerado na pasta c:\QRCode.
4- Ler QRCode
Private Sub btnLerQRCode_Click(sender As Object, e As EventArgs) Handles btnLerQRCode.Click
If Not IsNothing(picImagem.Image) Then
Try
Me.Width = 692
Me.Height = 352
Dim decoder As New QRCodeDecoder()
txtQrCode.Text = decoder.Decode(New QRCodeBitmapImage(TryCast(picImagem.Image, Bitmap)))
Catch ex As Exception
MessageBox.Show("Erro : " + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
Else
MessageBox.Show("Selecione a imagem QRCode para decodificar", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
|
O código cria uma instância da classe QRCodeDecoder() e usa o método Decode() para interpretar a imagem QRCode exibindo o resultado.
5- Sair
Private Sub btnSair_Click(sender As Object, e As EventArgs) Handles btnSair.Click
Me.Close()
End Sub
|
6- Rotina tamanhoNormaldoForm() que define o tamanho normal do formulário form1.vb :
Private Sub tamanhoNormaldoForm()
Me.Width = 499
Me.Height = 352
End Sub
|
Agora podemos executar o projeto e verificar o resultado.
1- Gerando e Salvando QRCode
2- Carregando e lendo um QRCode existente
Pegue o projeto completo aqui: versão VB .NET: Gerenciando_QRCode.zip versão C# : WF_QrCode_CSharp.zip
Veja também vídeo aula para este artigo em : VB .NET - Gerando, Salvando e Lendo QRCode
João 3:17 Porque Deus enviou o seu Filho ao mundo, não para que julgasse o mundo, mas para que o mundo fosse salvo por ele.
João 3:18 Quem crê nele não é julgado; mas quem não crê, já está julgado; porquanto não crê no nome do unigênito Filho de Deus.
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ?
|
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências: