Creazione di un’immagine contente un QR code in .NET

I QR code (Quick Response Code) si stanno rapidamente diffondendo grazie alla possibilità di poter contenere molte informazioni e di poter essere comodamente letti con uno smartphone.

Per creare un’immagine che contenga un QR code in .NET è possibile utilizzare la libreria open source iTextSharp che come avevo già descritto nel post Stampa codici a barre in VB.NET permette oltre alla gestione dei PDF anche la gestione dei codici a barre compresi quelli bidimensionali come il QR code.

Di seguito un esempio di codice per creare una bitmap contenente un QR code e salvarlo su file PNG sfruttando la versione 5.5.4 della libreria iTextSharp e in particolare la ddl core itextsharp.dll:

Dim qrCode = New iTextSharp.text.pdf.qrcode.QRCodeWriter()
Dim byteIMG = qrCode.Encode(“testo”, 75, 75)
Dim img = byteIMG.GetArray()
Dim bmp = New Bitmap(75, 75)
Dim g = Graphics.FromImage(bmp)
g.Clear(Color.White)

For i = 0 To img.Length – 1
    For j = 0 To img.Length – 1
        If (img(j)(i) = 0) Then
            g.FillRectangle(Brushes.Black, i, j, 1, 1)
        Else
            g.FillRectangle(Brushes.White, i, j, 1, 1)
        End If
    Next
Next

bmp.Save(System.IO.Path.Combine(
         System.Environment.GetFolderPath(Environment.SpecialFolder.MyPictures),
         “QRCodeSample.png”),
         System.Drawing.Imaging.ImageFormat.Png)