When users register website information, they basically need data verification code verification. So how to implement the image verification code function?
The approximate steps are:
1. Create cached images in memory
2. Set background color
3. Draw borders
4. Write letters
5. Draw interference information
6. Image output
Without further ado, just upload the code
package com.lsgjzhuwei.servlet.response;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class VerificationCode */@WebServlet(asyncSupported = true, urlPatterns = { "/VerificationCode" })public class VerificationCode extends HttpServlet {private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public VerificationCode() { super(); // TODO Auto-generated constructor stub }/** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubint width = 120;int height = 30;//Create a cached image in memory BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);///Background color//Draw image through graphics Graphics graphics = bufferedImage.getGraphics();//Set color graphics.setColor(Color.yellow);//Fill graphics.fillRect(0, 0, width, height);///Draw border graphics.setColor(Color.blue);graphics.drawRect(0, 0, width-1, height-1);//Write letter String content = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcedfghijklmnopqrstuvwxyz1234567890";Random random = new Random();//Set font color graphics.setColor(Color.red);//Set font and size graphics.setFont(new Font("宋体", Font.BOLD, 20));int x=20;int y=20;for(int i = 0; i < 4; i++){int index = random.nextInt(content.length());char letter = content.charAt(index);graphics.drawString(letter+" "", x, y);x = x+20;}//Draw the interference line int x1;int x2;int y1;int y2;graphics.setColor(Color.LIGHT_GRAY);for(int i = 0;i <50;i++){x1=random.nextInt(width);x2=random.nextInt(width);y1=random.nextInt(height);y2=random.nextInt(height);graphics.drawLine(x1, y1, x2, y2);}//Output the image to the browser//Output the image in memory into jpg image through the browser output stream to the jpg image ImageIO.write(bufferedImage, "jpg", response.getOutputStream());}/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stub}}The simple implementation of the above-mentioned image verification code function in the java web is all the content I share with you. I hope you can give you a reference and I hope you can support Wulin.com more.