return randomStr;
}
//生成随机图片
public void getRandomCodeImage(HttpServletRequest request, HttpServletResponse response){
HttpSession session = request.getSession();
// BufferedImage类是具有缓冲区的Image类,Image类是用于描述图像信息的类
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
Graphics g = image.getGraphics();
g.fillRect(0, 0, width, height);
g.setColor(getRandomColor(105, 189));
g.setFont(getFont());
// 干扰线
for (int i = 0; i < lineSize; i++) {
drawLine(g);
}
// 随机字符
String randomStr = “”;
for (int i = 0; i < randomStrNum; i++) {
randomStr = drawString(g, randomStr, i);
}
System.out.println(“随机字符:”+randomStr);
g.dispose();
//移除之前的session中的验证码信息
session.removeAttribute(sessionKey);
//重新将验证码放入session
session.setAttribute(sessionKey, randomStr);
try {
// 将图片以png格式返回,返回的是图片
ImageIO.write(image, “PNG”, response.getOutputStream());
} catch (Exception e) {
e.printStackTrace();
}
}
//生成随机图片的base64编码字符串
public String getRandomCodeBase64(HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
// BufferedImage类是具有缓冲区的Image类,Image类是用于描述图像信息的类
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
Graphics g = image.getGraphics();
g.fillRect(0, 0, width, height);
g.setColor(getRandomColor(105, 189));
g.setFont(getFont());
//干扰线
for (int i = 0; i < lineSize; i++) {
drawLine(g);
}
//随机字