introduire
Le package zxing de Goole est principalement utilisé. Ce qui suit est un exemple de code, ce qui est très pratique pour tout le monde de comprendre et d'apprendre. Le code appartient au cadre préliminaire et a des fonctions, et il doit être amélioré et optimisé en fonction de l'utilisation réelle.
Étape 1: Maven Import Zxing
<dependency> <proupId> com.google.zxing </rompuprid> <lefactId> Core </ artifactId> <DERSE> 3.2.1 </ version> </ Dependency>
Étape 2: Commencez à générer le code QR:
private static final int noir = 0xff000000; private static final int blanc = 0xffffffff; / ** * Enregistrez le code QR généré dans l'image * @param classe QR Matrix QR sous le package ZXing * @return * / intrater static tobufferedImage (bitmatrix matrix) {int width = matrix.getwidth (); int height = matrix.getheight (); BufferedImage Image = new BufferedImage (largeur, hauteur, bufferedImage.type_int_rgb); pour (int x = 0; x <largeur; x ++) {pour (int y = 0; y <hauteur; y ++) {image.setrgb (x, y, matrix.get (x, y)? noir: blanc); }} Return Image;} / ** * Générez du code QR et écrivez dans Fichier * @param Contenu Scan Le contenu du code QR * @Param Format Format d'image JPG * @Param File File * @throws Exception * / public static void WriteTofile (String Content, String Format, File File) lance l'exception {multipietwriter Multiformatwriter = new MultiforatWriter ();); @SuppressWarnings ("RawTypes") MAP INSTERS = new HashMap (); // Définissez UTF-8 pour prévenir les indices chinois brouillé.put (encodeHintType.Character_Set, "UTF-8"); // Définissez la taille de la zone blanche autour des indices du code QR.put (EncodeHintType.Margin, 1); // Définit la tolérance aux défauts de QR Code Hint.put (EncodeHintType.Error_Correction, ErrorCorrectionLevel.h); // dessine le code QR BitMatrix BitMatrix = MultiformatWriter.Encode (contenu, BarcodeFormat.qr_code, largeur, hauteur, indices); BufferedImage Image = TOBUfferedImage (BitMatrix); if (! ImageIo.write (image, format, fichier)) {lancer une nouvelle ioException ("ne peut pas écrire une image de format" + format + "vers" + file); }}Étape 3: Écrivez le texte dans l'image du code QR:
/ ** * Ajouter du texte à l'image du code QR * @param appuyez sur Text * @param qrfile QR Code Fichier * @param Fontstyle * @param Color * @param FontSize * / public static void prestext (String PressText, fichier QRFile, int Fontstyle, Color ColorTytes, "Utf-8)"); Image src = imageo.read (qrfile); int imagew = src.getWidth (null); int imageh = src.GetHeight (null); BufferedImage Image = new BufferedImage (imagew, imageh, bufferedImage.type_int_rgb); Graphiques g = image.creategraphics (); G.DrawImage (src, 0, 0, imagew, imageh, null); // Réglez la couleur du pinceau g.setColor (couleur); // Définit la police de police = new Font ("安安", fontstyle, FontSize); FontMetrics Metrics = G.getFontMetrics (FONT); // Les coordonnées du texte dans l'image sont définies au milieu ici int startx = (width - metrics.stringwidth (prestext)) / 2; int starty = hauteur / 2; g.setfont (police); G.Drawstring (prestext, startx, starty); g.dispose (); FileoutputStream out = new FileOutputStream (qrfile); Imageo.write (image, "jpeg", out); out.close (); System.out.println ("Image Press Success");}Étape 4: Tester dans la méthode principale, un code QR avec du texte au milieu sera généré
public static void main (String [] args) lève une exception {file qrcfile = new file ("/ users / deweixu /", "google.jpg"); WriteTofile ("www.google.com.hk", "jpg", qrcfile); PressText ("Google", Qrcfile, 5, Color.Red, 32);}Résumer
Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article sera d'une aide à votre étude ou à votre travail. Si vous avez des questions, vous pouvez laisser un message pour communiquer.