lun 16 dicembre 2019 - Lo Sviluppatore  anno VI

Creare un QRCode usando QRGen

Condividi

In questo post vediamo come creare un QrCode usando QRGen che è una libreria che mette a disposizione una api basata sul builder pattern che permette di creare in maniera semplice un’immagine QrCode.

Settiamo le dipendenze Maven

QRGen non è hostato sul repository Maven Central ma è disponibile su jitpack.io. Quindi oltre alle dipendenze e’ necessario settare il repository nel pom.xml:

<dependencies>
        <dependency>
            <groupId>com.github.kenglxn.qrgen</groupId>
            <artifactId>javase</artifactId>
            <version>2.5.0</version>
        </dependency>
 </dependencies>

<repositories>
        <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
        </repository>
 </repositories>

Fluent Builder API per la generazione di QRCode

Vediamo un primo esempio dell’utilizzo della libreria:

FileOutputStream fos = new FileOutputStream("/home/giuseppe/myQRCode.jpg");
QRCode.from("www.losviluppatore.it") // settiamo il testo da codificare
      .to(ImageType.JPG) // settiamo il tipo di immagine da generare
      .withSize(250, 250) // settiamo la dimensione dell'immagine
      .writeTo(fos); // scriviamo l'immagine su un file

Questo è il risultato:

Creare un QRCode usando QRGen 1

Cambiamo i colori del QRCode

E’ possibile cambiare i colori di default (bianco e nero) usando il formato RGB con l’alpha (trasparenza) 0x(alpha: 1 byte)(RGB: 3 bytes). E’ possibile usare la classe java.awt.Color per settare velocemente i colori base.

FileOutputStream fos = new FileOutputStream("/home/giuseppe/myColoredQRCode.jpg");
QRCode.from("www.losviluppatore.it")
      .to(ImageType.JPG)
      .withColor(Color.RED.getRGB(), Color.YELLOW.getRGB()) //colore principale rosso su sfondo giallo
      .withSize(250, 250)
      .withErrorCorrection(ErrorCorrectionLevel.Q) // settiamo il livello di correzione
      .writeTo(fos);

E questo è il risultato:

Creare un QRCode usando QRGen 2

E’ possibile utilizzare QRGen anche su android: Esiste uno speciale metodo bitmap() che restituisce un android.graphics.Bitmap da usare all’interno di una ImageView.

Per maggiori informazioni sulle feature e l’uso della libreria : QRGen: a simple QRCode generation api for java built on top ZXING

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Top