Rilevare da una immagine QRCode le informazioni

Articolo che fornisce informazioni di base su come rilevare i dati contenuti in una immagine di tipo QRCode.

il
Sviluppatore Microsoft .Net, Collaboratore di IProgrammatori

In questo articolo vedremo come rilevare le informazioni contenute in una immagine di tipo QRCode, il tutto tramite .Net 4.0, con il linguaggio di programmazione VB.Net e C#

Prima di tutto bisogna scaricare la libreria Zxing il download di tale libreria si può effettuare dal seguente sito http://zxingnet.codeplex.com/ , dopo averla scaricare e decompresso la cartella, aggiungere nei riferimenti del progetto la libreria zxing.

Stesura di codice

Creare un progetto di tipo Windows Application, selezionando il linguaggio di vostro interesse, inseriamo un pulsante che all'evento click andrà a rilevare da una immagine situata nel pc, le informazioni.

Dalla finestra esplora soluzione, aggiungere il riferimento alla libreria, la quale tramite appositi metodi ci permetterà di estrapolare i dati relativi alla immagine.

Aggiungiamo lo spazio di nomi zxing, qui di seguito si riporta un esempio di codice per i linguaggi di programmazione Visual Basic Net e C#.


VB.Net
Imports ZXing
C#
using ZXing;


La classe BarcodeReader ci permettere di gestire le immagini di tipo QrCode, tramite il metodo Decode, passando lo stream di un file immagine, rilevare le informazioni di tale immagine.

La proprietà Text ci restituisce il testo, mentre la proprietà format il formato.

Qui di seguito si riporta un frammento di codice da utilizzare all'evento click del pulsante

VB.Net
Private Sub BtnLeggi_Click(sender As System.Object, e As System.EventArgs) Handles BtnLeggi.Click
        Dim RilevaBarcodeReader As IBarcodeReader = New BarcodeReader()
        Dim BitMapBarcode As Bitmap = Bitmap.FromFile("E:\ImgQrCode.jpg")
        Dim risultato = RilevaBarcodeReader.Decode(BitMapBarcode)
        If Not risultato Is Nothing Then
            MessageBox.Show("Formato: " + risultato.BarcodeFormat.ToString() + "  Testo: " + risultato.Text)
        End If
    End Sub
C#
  private void BtnLeggi_Click(object sender, EventArgs e)
        {
            IBarcodeReader RilevaBarcodeReader = new BarcodeReader();
            var BitMapBarcode = (Bitmap)Bitmap.FromFile("E:\\ImgQrCode.jpg");
            var risultato = RilevaBarcodeReader.Decode(BitMapBarcode);
            if (risultato != null)
            {
                MessageBox.Show("Formato: " + risultato.BarcodeFormat.ToString() + "  Testo: " + risultato.Text );
            }
        }

Conclusioni

L'articolo, ha voluto fornire al lettore le informazioni basilari di come rilevare le informazioni da una immagine di tipo QrCode, tramite un componente gratuito.

L'articolo prende spunto dal precedente https://www.iprogrammatori.it/articoli/programmazione/art_net-generare-un-codice-qrcode-vbnet-e-c_1346.aspx  che illustra la tecnica di come generare un immagine di tipo QrCode.


Tramite il link  "Download codice" potete scaricare il file di esempio.

Download codice