Java: Beispiel für einen einfachen QR-Code-Generator – Erstellen Sie kostenlos QR-Codes
Veröffentlicht: 2020-01-16
Scannen Sie dies: Sie werden zu https://crunchify.com
weitergeleitet
QR code
(abgekürzt von Quick Response Code
) ist das Warenzeichen für eine Art Matrix-Barcode (oder zweidimensionalen Barcode), der zuerst für die Automobilindustrie in Japan entwickelt wurde. Strichcodes sind optische, maschinenlesbare Etiketten, die an Gegenständen angebracht sind und Informationen über den Gegenstand aufzeichnen. Ursprünglich patentiert, hat sich der Patentinhaber entschieden, diese Rechte nicht auszuüben. In letzter Zeit ist das QR-Code-System aufgrund seiner schnellen Lesbarkeit und größeren Speicherkapazität im Vergleich zu Standard-UPC-Barcodes auch außerhalb der Automobilindustrie populär geworden.
Der Code besteht aus schwarzen Modulen (quadratische Punkte), die in einem quadratischen Raster auf weißem Hintergrund angeordnet sind. ZXING
ist eine 1D/2D-Barcode-Bildverarbeitungsbibliothek für mehrere Formate mit Clients für Android und Java. Es handelt sich um eine in Java implementierte Open-Source-Bildverarbeitungsbibliothek für 1D/2D-Barcodes in mehreren Formaten mit Ports für andere Sprachen.
Checkout-Live-Beispiel:
Unser Fokus liegt darauf, die eingebaute Kamera von Mobiltelefonen zu verwenden, um Barcodes auf dem Gerät zu scannen und zu dekodieren, ohne mit einem Server zu kommunizieren. Das Projekt kann jedoch auch zum Codieren und Decodieren von Barcodes auf Desktops und Servern verwendet werden.
Hier ist ein einfacher Java-Code, der QR-Code für Sie generiert.
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 ( ) ; } } } |
Ausgabe: (Selbst scannen)

Welche Bibliothek muss ich herunterladen?
Wenn Sie ein Maven-Projekt haben, fügen Sie diese Abhängigkeit in Ihre pom.xml-Datei ein.

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

ODER Laden Sie die JAR-Datei manuell herunter
Schritt 1:
Download-Link.

Schritt 2
Sobald Sie es heruntergeladen haben, müssen Sie es in den Klassenpfad Ihres Projekts aufnehmen. So fügen Sie eine JAR-Datei zum Projekterstellungspfad in Eclipse hinzu.

Lassen Sie mich wissen, wenn Sie auf Probleme beim Generieren des QR-Codes stoßen.