In diesem Blog werden die Implementierung eines Bildüberprüfungscode im Projekt aufgezeichnet. Obwohl es nicht sehr kompliziert ist, ist eine gute Erinnerung nicht so gut wie ein schlechter Stift. Denken Sie daran!
Paket com.zl.util; Import Java.awt.Color; import Java.awt.font; importieren java.awt.graphics; Import Java.awt.image.BuffenedImage; importieren java.io.fileoutputStream; importieren java.io.ioException; importieren java.io.outputstream; import Java.util.random; import Javax.imageo.imageo; / ** * @Author Zzc * @date 6. November 2017 * @param * @desc Grafikverifizierungscode Generierung * */ public class verifyUtil {// Verifizierungscode -Zeichen für private statische endgültige char [] chars = {'0', '1', '2', '3', '4', '5', '6', ' 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 'S', 't', 'u', 'V', 'W', 'x', ',' Z '}; // Anzahl der Zeichen private statische endgültige int size = 4; // Anzahl der Interferenzlinien private statische endgültige Int -Linien = 5; // Breite private statische endgültige int width = 80; // Höhe private statische endgültige int Höhe = 40; // Schriftgröße private statische endgültige int font_size = 30; /*** Generieren Sie zufälligen Verifizierungscode und Bild* Objekt [0]: Verifizierungscode -Zeichenfolge; * Objekt [1]: Bildcode Bild. */ public static Object [] createImage () {StringBuffer sb = new StringBuffer (); // 1.. Erstellen Sie ein leeres Bild BufferedImage Image = new bufferedImage (Breite, Höhe, bufferedimage.type_int_rgb); // 2. age das Bildpinselgrafik graphic = image.getGraphics (); // 3.. Setzen Sie die Pinselfarbe Graphics.setColor (color.light_gray); // 4. Zeichnen Sie die Rechteck -Hintergrundgrafik. FillRect (0, 0, Breite, Höhe); // 5. zufällige Zeichen Random ran = new random (); für (int i = 0; i <size; i ++) {// Nehmen Sie den zufälligen Zeichenindex int n = ran.nextint (chars.length); // Setzen Sie die zufällige Farbgrafik.setColor (getRandomcolor ()); // Setzen Sie die Schriftgröße Grafik // Zeichengrafik zeichnen. // Zeichen sb.append aufzeichnen (chars [n]); } // 6. Zeichnen Sie die Interferenzlinie für (int i = 0; i <line; i ++) {// Random Color Graphic.setColor (getRandomcolor ()); // Random Color Graphic.Drawline (ran.nextint (width), ran.nextint (Höhe), ran.nextint (width), ran.nextint (Höhe)); } // 7. Rückgabe -Verifizierungscode und Bild geben neues Objekt zurück [] {sb.toString (), Image}; } / *** Zufällige Farbe* / public statische Farbe getRandomcolor () {random ran = new random (); Color color = new color (ran.nextint (256), ran.nextint (256), ran.nextint (256)); Return Color; } public static void main (String [] args) löst IOException aus {Object [] objs = createImage (); Bufferedimage -Bild = (bufferedimage) objs [1]; OutputStream os = new FileOutputStream ("d: /1.png"); Imageio.Write (Bild, "PNG", OS); os.close (); }} Controller -Schicht
/** * @Author Zzc * @date 6. November 2017 * @param * @Desc Grafikverifizierungscode -Generierung Object [] objs = verifyUtil.createimage (); // den Bestätigungscode in Sitzung speichern. // das Bild in das Browser buffenedImage -Bild = (bufferedImage) objs [1] ausgeben; Antwort.SetContentType ("Bild/PNG"); OutputStream os = response.getOutputStream (); Imageio.Write (Bild, "PNG", OS); }Auslaufergebnisse:
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.