生成圖片驗證碼
阿新 • • 發佈:2018-10-23
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 intwidth = 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 }
生成圖片驗證碼