ตัวอย่างในบทความนี้แบ่งปันรหัสเฉพาะสำหรับรหัสการตรวจสอบจดหมาย Java Generation สำหรับการอ้างอิงของคุณกับคุณ เนื้อหาเฉพาะมีดังนี้
นำเข้า java.awt.basicstroke; นำเข้า java.awt.color; นำเข้า java.awt.font; นำเข้า java.awt.graphics2d; นำเข้า Java.awt.image.bufferedimage; นำเข้า Java.io.ioException; VerifyCode {// ความกว้างของรูปภาพและความสูงส่วนตัว int w = 70; INT ส่วนตัว h = 35; สุ่มส่วนตัว r = ใหม่สุ่ม (); สตริงส่วนตัว [] fontNames = {"Song Font", "Chinese Kai Font", "Bold Font", "Microsoft Elegant Black", "Kai Font_GB2312"}; รหัสสตริงส่วนตัว = "234567890QWERTYUIPASDFGHJKZXCVBNMQWERTYUIPASDFGHJKZXCVBNM"; สีส่วนตัว bgcolor = สีใหม่ (255,255,255); ข้อความสตริงส่วนตัว // สร้างสีแบบสุ่มสีส่วนตัวแบบสุ่ม () {int red = r.nextint (150); int green = r.nextint (150); int blue = r.nextint (150); คืนสีใหม่ (สีแดง, เขียว, สีน้ำเงิน); } // สร้างแบบอักษรฟอนต์แบบสุ่มแบบฟอนต์แบบสุ่ม () {int index = r.nextint (fontnames.length); String fontName = fontNames [index]; สไตล์ int = r.nextint (4); // 0 ไม่มี 1 ตัวหนา 2 ตัวเอียง 3 ตัวหนา + ขนาด int เอียง = r.nextint (5) +24; // สร้างขนาดตัวอักษรแบบสุ่ม 24 ~ 28 ส่งคืนแบบอักษรใหม่ (FontName, Style, Size); } // เส้นสัญญาณรบกวนเป็นโมฆะส่วนตัว Drawline (BufferedImage Image) {// สร้าง 4 สายการรบกวน int int num = 4; graphics2d bi = (graphics2d) image.getGraphics (); สำหรับ (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 (basicstroke ใหม่ (1.5f)); bi.setColor (color.blue); // เส้นรบกวนเส้นสี bi.drawline (x1, y1, x2, y2); }} // การสร้างแบบสุ่มของตัวละครส่วนตัวถ่านแบบสุ่ม () {int index = r.nextint (codes.length ()); รหัสส่งคืน Charat (ดัชนี); } // บัฟเฟอร์ภาพส่วนตัว 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); ภาพกลับ; } // สร้างภาพสาธารณะ bufferedImage getImage () {bufferedImage image = createImage (); graphics2d bi = (graphics2d) image.getGraphics (); StringBuilder sb = new StringBuilder (); สำหรับ (int i = 0; i <4; i ++) {string string = randomchar ()+""; sb.append (สตริง); // ตัวละครแต่ละตัวบัญชีสำหรับความกว้าง 1/4 ของภาพลอย x = i*1.0f*w/4; // รูปแบบตัวอักษรแบบสุ่ม bi.setfont (randomfont ()); bi.setColor (randomColor ()); // เขียนอักขระในสถานที่ที่เหมาะสมของภาพ (H-6 หมายถึงภาพคือ 6 ความสูงจากด้านล่าง) bi.drawstring (สตริง, x, h-6); } this.text = sb.toString (); Drawline (ภาพ); ภาพกลับ; } // ส่งคืนฟอนต์สาธารณะสตริง getText () {return text; } // เขียนภาพไปยังตำแหน่งที่ระบุตำแหน่งสาธารณะคงที่เอาต์พุตแบบคงที่ (อิมเมจ bufferedImage, outputstream ออก) {ลอง {imageio.write (ภาพ, "jpg", ออก); } catch (ioexception e) {e.printstacktrace (); -ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น