1. 程式人生 > >生成圖片驗證碼

生成圖片驗證碼

dom 測試 clas void exceptio ide 隨機 file buffere

 1  package util;
 2  
 3 import javax.imageio.ImageIO;
 4 import java.awt.*;
 5 import java.awt.image.BufferedImage;
 6 import java.io.File;
 7 import java.io.IOException;
 8 import java.util.Random;
 9  
10 public class image {
11     public static int[] ran() {
12         //設置圖片寬度和高度
13         int
width = 150; 14 int height = 60; 15 //幹擾線條數 16 int lines = 10; 17 // 驗證碼數組 18 int[] random = new int[4]; 19 Random r = new Random(); 20 BufferedImage b = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); 21 Graphics g = b.getGraphics();
22 g.setFont(new Font("宋體", Font.BOLD, 30)); 23 for (int i = 0; i < 4; i++) { 24 int number = r.nextInt(10); 25 random[i] = number; 26 int y = 10+r.nextInt(40);// 10~40範圍內的一個整數,作為y坐標 27 //隨機顏色,RGB模式 28 Color c = new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255));
29 g.setColor(c); 30 // g.drawString("" + a, 5 + i * width / 4, y); 31 //寫驗證碼 32 g.drawString(Integer.toString(number), 5 + i * width / 4, y); 33 } 34 for (int i = 0; i < lines; i++) { 35 //設置幹擾線顏色 36 Color c = new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255)); 37 g.setColor(c); 38 g.drawLine(r.nextInt(width), r.nextInt(height), r.nextInt(width), r.nextInt(height)); 39 } 40 try { 41 //清空緩沖 42 g.dispose(); 43 //向文件中寫入 44 ImageIO.write(b, "jpg", new File("E:\\IntelliJ IDEA\\mail\\web\\imagecode\\test.jpg")); 45 } catch (IOException e) { 46 e.printStackTrace(); 47 } 48 return random; 49 } 50 51 //測試 52 public static void main(String[] args) { 53 ran(); 54 } 55 }

生成圖片驗證碼