输出随机认证码图片

 


 

 

Myeclipse 环境下

这里当然还要在WEB-INF目录下,配一个web.xml
 

总结:

                控制浏览器要缓存

        response.setDateHeader("Expires",System.currentTimeMillis() + 1000*3600);注意:如果这句没添加     System.currentTimeMillis() 则没有缓存截止日期,默认是 1970年开始 缓存1小时,也就是过期了,所以System.currentTimeMillis() 这句的作用是获取当前日期时间,然后加上你要缓存的时间,1000代表1秒。

               控制浏览器不要缓存

        response.setDateHeader("Expires", -1); 或者 response.setDateHeader("Expires", 0); 都一样

        response.setHeader("cache-control", "no-cache");

        response.setHeader("pragma", "no-cache");

 

     这里设置了颜色,别忘了设置 把颜色填充,绘制边框,等等

       绘制边框:g.drawRect(1, 1, WIDTH-2, HEIGHT-2);// 边框的宽和高,都要比背景色的宽高小1,这个边框是从x=1,y=1 (起使坐标(1,1) )开始画的,本来是从x=0,y=0画的,但贴近最左边效果不好所以WIDTH-2, HEIGHT-2 要减2

 

     中文字体范围 [\u4e00-\u9fa5]

                   获取随机字符:String ch = base.charAt( new Random().nextInt(base.length()) )+""; 

               然后把字符转化为字符串

                注意 设置字的旋转角度,g.rotate(theta*Math.PI/180, x, 20);//设置旋转角度(一定要是弧度),把度转化为弧度(公式:theta*Math.PI/180 ;这个theta是度):int theta = new Random().nextInt()%30;//获取-30到30的数,

               当你旋转完,把字放到方框里去后,还得注意一点就是把旋转角度,旋转为初始状态,以便下一个字进行旋转

 

posted on 2011-12-13 19:45  android开发实例  阅读(2006)  评论(0编辑  收藏  举报

导航