java之验证码制作

来源:互联网 发布:java简单多线程 编辑:程序博客网 时间:2024/06/06 10:59
import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.FileOutputStream;import java.io.IOException;import java.util.Random;import javax.imageio.ImageIO;public class ImgDemo {public static void main(String []args) throws IOException {int w =60;int h =30;String FILE_NAME = "d:/hello.jpg";BufferedImage img = new BufferedImage(60, 30, BufferedImage.TYPE_INT_RGB);Graphics g = img.getGraphics();//背景g.setColor(Color.white);g.fillRect(0, 0, w, h);//字体g.setFont(new Font("aa", Font.BOLD, 18));//输入验证码:4个0~9之间的随机整数Random r = new Random();for(int i=0;i<4;i++){int a = r.nextInt(10);int y = 10+r.nextInt(20);Color c= new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255));g.setColor(c);g.drawString(""+a, i*16, y);}for(int i=0;i<10;i++){Color c= new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255));g.setColor(c);g.drawLine(r.nextInt(w), r.nextInt(h), r.nextInt(w), r.nextInt(h));//画干扰线是为了放黑}        //把图形刷到 img对象中g.dispose();//相当于IO中的close()方法带动flush()ImageIO.write(img, "JPEG", new FileOutputStream(FILE_NAME));}}

0 0