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

Java生成验证码图片实现代码

程序员文章站 2022-03-01 14:34:38
...

随机码相信大家并不陌生、一般在网站注册或者修改密码的时候都会用到、同样在B/S的项目里面也会有很多地方使用到随机码、下面是一段Java程序生成随机码的例子、直接上代码、只需要把代码粘贴进自己的项目就可以正常使用了


import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Random;
 
import javax.imageio.ImageIO;
 
public class Mytest10 {
    public static Random random = new Random();
    public static int r(int min,int max){
        int num=0;
        num=random.nextInt(max-min) min;
        return num;
    }
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        //在内存中创建一副图片
        int w=120;
        int h=50;
        BufferedImage img = new BufferedImage(w, h, 
			BufferedImage.TYPE_INT_RGB);
        //在图片上画一个矩形当背景
        Graphics g = img.getGraphics();
        g.setColor(new Color(r(50,250),r(50,250),r(50,250)));
        g.fillRect(0, 0, w, h);
         
        String str = "aqzxswedcfrvgtbhyujklp23456789";
        for(int i=0;i<4;i  ){
            g.setColor(new Color(r(50,180),r(50,180),r(50,180)));
            g.setFont(new Font("黑体",Font.PLAIN,40));
            char c = str.charAt(r(0,str.length()));
            g.drawString(String.valueOf(c), 10 i*30, r(h-30,h));
        }
         
        //画随机线
        for(int i=0;i<25;i  ){
            g.setColor(new Color(r(50,180),r(50,180),r(50,180)));
            g.drawLine(r(0,w), r(0,h),r(0,w), r(0,h));
        }
        //把内存中创建的图像输出到文件中
        File file =new File("vcode.png");
        ImageIO.write(img, "png", file);
        System.out.println("图片输出完成");
         
    }
 
}


代码都在上面了、如果是在Web项目里面使用的话、还得自己把图片放到Web的可访问目录下面哦