Les exemples de cet article partagent avec vous le code spécifique pour le code de vérification des lettres de génération Java pour votre référence. Le contenu spécifique est le suivant
Importer java.awt.basicStroke; import java.awt.color; import java.awt.font; importer java.awt.graphics2d; import java.awt.image.bufferedImage; import java.io.ioexception; import java.io.ouputstream; import java.util. VerifyCode {// Largeur d'image et hauteur privé int w = 70; privé int h = 35; Random privé r = new Random (); String privé [] fontNames = {"Song Font", "Chinese Kai Font", "Bold Font", "Microsoft Elegant Black", "Kai Font_GB2312"}; codes de chaîne privées = "234567890qwertyuipasdfghjkzxcvbnmqwertyuipasdfghjkzxcvbnm"; Couleur privée bgcolor = nouvelle couleur (255 255 255); texte de chaîne privé; // Générer des couleurs aléatoires Couleur privée RandomColor () {int red = r.Nextint (150); int green = r.Nextint (150); int blue = r.Nextint (150); retourner une nouvelle couleur (rouge, vert, bleu); } // générer une police privée aléatoire RandomFont () {int index = r.Nextint (FontNames.Length); String FontName = FontNames [index]; int style = R.Nextint (4); // 0 Aucun 1 Bold 2 Italic 3 Bold + oblique Int Taille = R.Nextint (5) +24; // Générer une taille de police aléatoire 24 ~ 28 RETOUR NOUVELLE FONT (FONTNAME, style, taille); } // Interférence Line private void Drawline (image de tampon) {// Générer 4 lignes d'interférence int num = 4; Graphics2d bi = (graphics2d) image.getGraphics (); pour (int i = 0; i <num; i ++) {int x1 = r.nextint (w); int x2 = r.Nextint (w); int y1 = r.Nextint (h); int y2 = r.Nextint (h); Bi.SetStroke (New BasicStroke (1,5F)); bi.setColor (Color.Blue); // Couleur de ligne d'interférence Bi.Drawline (x1, y1, x2, y2); }} // Génération aléatoire d'un caractère privé char allowchar () {int index = r.nextint (codes.length ()); return codes.charat (index); } // Image Buffer Private BufferedImage CreateImage () {BufferedImage Image = new BufferedImage (W, H, BufferedImage.Type_int_bgr); Graphics2d bi = (graphics2d) image.getGraphics (); bi.setColor (this.bgcolor); Bi.Fillrect (0, 0, W, H); Image de retour; } // Générer l'image publique BufferedImage getImage () {BufferedImage Image = CreateImage (); Graphics2d bi = (graphics2d) image.getGraphics (); StringBuilder sb = new StringBuilder (); pour (int i = 0; i <4; i ++) {String String = randomchar () + ""; SB.APPEND (String); // Chaque caractère représente 1/4 de largeur de l'image float x = i * 1.0f * w / 4; // Format de police aléatoire bi.setfont (randomfont ()); bi.setColor (RandomColor ()); // Écrivez les caractères à la place appropriée de l'image (H-6 signifie que l'image est à 6 hauteurs du bas) bi.Drawstring (String, X, H-6); } this.text = sb.toString (); Drawline (image); Image de retour; } // renvoie la chaîne publique de police obtenue getText () {return text; } // Écrivez l'image à l'emplacement spécifié publique STATIC VOID Output (BufferedImage Image, OutputStream Out) {try {imageo.write (image, "jpg", out); } catch (ioException e) {e.printStackTrace (); }}}Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.