欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

前端生成验证码图片utils

程序员文章站 2022-03-25 11:05:05
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.Random"%> <%@ page import="java.io.O ......
<%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <%@ page import="java.util.Random"%> <%@ page import="java.io.OutputStream"%> <%@ page import="java.awt.Color"%> <%@ page import="java.awt.Font"%> <%@ page import="java.awt.Graphics"%> <%@ page import="java.awt.image.BufferedImage"%> <%@ page import="javax.imageio.ImageIO"%> <%     int width = 80;     int height = 32;     //create the image     BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);     Graphics g = image.getGraphics();     // set the background color     g.setColor(new Color(0xDCDCDC));     g.fillRect(0, 0, width, height);     // draw the border     g.setColor(Color.black);     g.drawRect(0, 0, width - 1, height - 1);     // create a random instance to generate the codes     Random rdm = new Random();     String hash1 = Integer.toHexString(rdm.nextInt());     // make some confusion     for (int i = 0; i < 50; i++) {         int x = rdm.nextInt(width);         int y = rdm.nextInt(height);         g.drawOval(x, y, 0, 0);     }     // generate a random code     String capstr = hash1.substring(0, 4);     session.setAttribute("validateCode", capstr);     g.setColor(new Color(0, 100, 0));     g.setFont(new Font("Candara", Font.BOLD, 24));     g.drawString(capstr, 8, 24);     g.dispose();     response.setContentType("image/jpeg");     out.clear();     out = pageContext.pushBody();     OutputStream strm = response.getOutputStream();     ImageIO.write(image, "jpeg", strm);     strm.close(); %>