分享一下这种验证码怎么做的
package abc;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.swing.*;
public class games {
//!!!!!!!!!
public static void main(String[] args) throws FileNotFoundException, IOException {
int width = 100;
int height = 50;
//构造BufferedImage图像对象
//宽像素,高像素,色彩空间类型
BufferedImage image=new BufferedImage( width, height, BufferedImage.TYPE_BYTE_BINARY);
//编辑图像
//获取绘图对象
Graphics g=image.getGraphics();
//设置字体颜色
g.setColor(Color.white);
//设置字体
g.setFont(new Font("SimSong",Font.ITALIC,20));
String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789";
//生成随机角标
Random ran = new Random();
for (int i = 1; i <= 4; i++) {
int index = ran.nextInt(str.length());
//获取字符
char ch = str.charAt(index);//随机字符
//2.3写验证码
g.drawString(ch+"",width/5*i,height/2);
}
//2.4画干扰线
g.setColor(Color.GREEN);
//随机生成坐标点
for (int i = 0; i < 10; i++) {
int x1 = ran.nextInt(width);
int x2 = ran.nextInt(width);
int y1 = ran.nextInt(height);
int y2 = ran.nextInt(height);
g.drawLine(x1,y1,x2,y2);
}
//输出图像
//路径改成自己电脑的
ImageIO.write(image, "png", new FileOutputStream("D:/javaweb/4.png"));
}
}