javaWeb生成验证码图片的笔记

生成图片

1,
BufferedImage img = new BufferedImage(100,80,BufferedImage.TYPE_INT_RGB);
申请一个图片内存空间,当成画纸,100高度,80宽度,带颜色的
2,
Graphics g =img.getGraphics();画笔
3,
g.setColor(Color.White);设置白色
4,
g.fillRect(0,0,100,80);填充背景
5,
g.setFont(new Font("宋体",类型:Font.BOLD,Size:20));字体
g.setColor(RED);设置颜色
6,
String code = randomString(4);//生成4位验证码
g.drawString(code,x:50,y:50);写字
7,
g.dispose();合并到一起
8,
ServletOutputStream out =resp.getOutputStream,和getWriter差不多,
用于得到二进制数据,输出文本数据,只能用一个
ImageIO.write(img,"JEPG",OUT);不能直接用out. 说明是img图片,jepg格式
,塞到out里面
try{
	out.flush();把缓冲区东西全传出去.
	}catch(Exception e){
	}finally{
		out.close();需要把管道关掉
	}
//生成验证码随机字符串,需要创造一个去测试类来测试。
public String randomString(int count){
	StringBuilder builder = new StringBuilder();//动态字符串,可变字符串,存储
	String source = "abcdefghijklmnpqrstuvwxy0123456789";
	Random rnd = new Random();
	for(int i=0;i
//在test根目录创建TestCaptcha
public class TestCaptcha {
    @Test//本来需要加个main方法,直接用Test注解,可以直接运行
    public void testRandomStr(){
        CaptcheController c = new CaptcheController();//实例化这个对象
        System.out.println(c.randomString(4));//生成4位数的验证码
    }
}

你可能感兴趣的:(javaWeb生成验证码图片的笔记)