Java: Exemplu de generator de coduri QR simplu – Creați coduri QR gratuit
Publicat: 2020-01-16
Scanați aceasta: veți fi redirecționat către https://crunchify.com
QR code
(abreviat de la Quick Response Code
) este marca comercială pentru un tip de cod de bare matrice (sau cod de bare bidimensional) conceput pentru prima dată pentru industria auto din Japonia. Codurile de bare sunt etichete optice care pot fi citite de mașină atașate articolelor care înregistrează informații legate de articol. Inițial brevetat, titularul său a ales să nu-și exercite aceste drepturi. Recent, sistemul de coduri QR a devenit popular în afara industriei auto datorită lizibilității rapide și a capacității de stocare mai mari în comparație cu codurile de bare UPC standard.
Codul este format din module negre (puncte pătrate) dispuse într-o grilă pătrată pe un fundal alb. ZXING
este o bibliotecă de procesare a imaginilor cu coduri de bare multi-format 1D/2D cu clienți pentru Android, Java. Este o bibliotecă de procesare a imaginilor cu coduri de bare 1D/2D cu sursă deschisă, multiformat, implementată în Java, cu porturi către alte limbi.
Exemplu live de checkout:
Ne concentrăm pe utilizarea camerei încorporate pe telefoanele mobile pentru a scana și decoda codurile de bare pe dispozitiv, fără a comunica cu un server. Cu toate acestea, proiectul poate fi folosit pentru a codifica și decoda coduri de bare și pe desktop-uri și servere.
Iată un cod Java simplu care generează cod QR pentru tine.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
package crunchify . com . tutorials ; import com . google . zxing . BarcodeFormat ; import com . google . zxing . EncodeHintType ; import com . google . zxing . WriterException ; import com . google . zxing . common . BitMatrix ; import com . google . zxing . qrcode . QRCodeWriter ; import com . google . zxing . qrcode . decoder . ErrorCorrectionLevel ; import javax . imageio . ImageIO ; import java . awt . * ; import java . awt . image . BufferedImage ; import java . io . File ; import java . io . IOException ; import java . util . EnumMap ; import java . util . Map ; /** * @author Crunchify.com * Simple QR Code Generator Example - Create QR codes for free. */ public class CrunchifyQRCodeGenerator { public static void main ( String [ ] args ) { String myCodeText = "https://crunchify.com" ; String filePath = "//cdn.crunchify.com/Users/app/Document/Crunchify.com-QRCode.png" ; int size = 512 ; String crunchifyFileType = "png" ; File crunchifyFile = new File ( filePath ) ; try { Map < EncodeHintType , Object > crunchifyHintType = new EnumMap < EncodeHintType , Object > ( EncodeHintType . class ) ; crunchifyHintType . put ( EncodeHintType . CHARACTER_SET , "UTF-8" ) ; // Now with version 3.4.1 you could change margin (white border size) crunchifyHintType . put ( EncodeHintType . MARGIN , 1 ) ; /* default = 4 */ Object put = crunchifyHintType . put ( EncodeHintType . ERROR_CORRECTION , ErrorCorrectionLevel . H ) ; QRCodeWriter mYQRCodeWriter = new QRCodeWriter ( ) ; // throws com.google.zxing.WriterException BitMatrix crunchifyBitMatrix = mYQRCodeWriter . encode ( myCodeText , BarcodeFormat . QR_CODE , size , size , crunchifyHintType ) ; int CrunchifyWidth = crunchifyBitMatrix . getWidth ( ) ; // The BufferedImage subclass describes an Image with an accessible buffer of crunchifyImage data. BufferedImage crunchifyImage = new BufferedImage ( CrunchifyWidth , CrunchifyWidth , BufferedImage . TYPE_INT_RGB ) ; // Creates a Graphics2D, which can be used to draw into this BufferedImage. crunchifyImage . createGraphics ( ) ; // This Graphics2D class extends the Graphics class to provide more sophisticated control over geometry, coordinate transformations, color management, and text layout. // This is the fundamental class for rendering 2-dimensional shapes, text and images on the Java(tm) platform. Graphics2D crunchifyGraphics = ( Graphics2D ) crunchifyImage . getGraphics ( ) ; // setColor() sets this graphics context's current color to the specified color. // All subsequent graphics operations using this graphics context use this specified color. crunchifyGraphics . setColor ( Color . white ) ; // fillRect() fills the specified rectangle. The left and right edges of the rectangle are at x and x + width - 1. crunchifyGraphics . fillRect ( 0 , 0 , CrunchifyWidth , CrunchifyWidth ) ; // TODO: Please change this color as per your need crunchifyGraphics . setColor ( Color . BLUE ) ; for ( int i = 0 ; i < CrunchifyWidth ; i ++ ) { for ( int j = 0 ; j < CrunchifyWidth ; j ++ ) { if ( crunchifyBitMatrix . get ( i , j ) ) { crunchifyGraphics . fillRect ( i , j , 1 , 1 ) ; } } } // A class containing static convenience methods for locating // ImageReaders and ImageWriters, and performing simple encoding and decoding. ImageIO . write ( crunchifyImage , crunchifyFileType , crunchifyFile ) ; System . out . println ( "\nCongratulation.. You have successfully created QR Code.. \n" + "Check your code here: " + filePath ) ; } catch ( WriterException e ) { System . out . println ( "\nSorry.. Something went wrong...\n" ) ; e . printStackTrace ( ) ; } catch ( IOException e ) { e . printStackTrace ( ) ; } } } |
Ieșire: (Scanați-l singur)

Ce bibliotecă trebuie să descarc?
Dacă aveți un proiect Maven, includeți această dependență în fișierul pom.xml.

1 2 3 4 5 6 |
< dependency > < groupId > com . google . zxing < / groupId > < artifactId > core < / artifactId > < version > 3.4.1 < / version > < / dependency > |

SAU Descărcați manual fișierul .jar
Pasul 1:
Link de descărcare.

Pasul 2
Odată ce îl descărcați, trebuie să îl includeți în calea de clasă a proiectului. Cum să adăugați fișierul .jar la Calea de construire a proiectului în Eclipse.

Anunțați-mă dacă vă confruntați cu vreo problemă la generarea codului QR.