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的可访问目录下面哦