• 生成网页验证码


    <%@ page language="java" import="java.util.*" 
    import="java.awt.image.*"  import="javax.imageio.*" import="java.awt.*"
    pageEncoding="gbk"%>
    
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      </head>
      
      <body>
        <%!
            Color getRandColor(int fc,int bc){
                Random random = new Random();
                if(fc>255)
                fc=255;
                if(bc<255)
                bc=255;
                int r = fc+random.nextInt(bc-fc);
                int g = fc+random.nextInt(bc-fc);
                int b = fc+random.nextInt(bc-fc);
                return new Color(r,g,b);
            }
        
         %>
         <%
             //设置页面不缓存
             response.setHeader("Pragma","no-cache");
             response.setHeader("Cache-Control","no-cache");
             response.setDateHeader("Expires",0);
         
             //在内存中创建图片
             int width = 60;
             int height = 20;
             BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
          
              //创建图片
              Graphics g = image.getGraphics();
              
              //生成随机数
              Random random = new Random();
              //设置图片颜色
              g.setColor(getRandColor(200,255));
              //设置图片为矩形
              g.fillRect(0,0,width,height);
              //设置字体
              g.setFont(new Font("Times New Roman",Font.PLAIN,18));
              //设置干扰条纹
              g.setColor(getRandColor(160,200));
              for(int i=0;i<255;i++){
              int x = random.nextInt(width);
              int y = random.nextInt(height);
              int x1 = random.nextInt(12);
              int y1 = random.nextInt(12);
              }
              //设置随机数
              String sRand="";
              for(int i=0;i<4;i++){
              String rand = String.valueOf(random.nextInt(10));
              sRand += rand;
              g.setColor(new Color(20+random.nextInt(100),20+random.nextInt(100),20+random.nextInt(100)));
              g.drawString(rand,13*i+6,16);
              
              }
              session.setAttribute("rCode","sRand");
              //图片绘制
              g.dispose();
              ImageIO.write(image,"JPEG",response.getOutputStream());
              out.clear();
              out = pageContext.pushBody();
          
          
          %>
    
         
         
      </body>
    </html>
    <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
    
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        
      </head>
      
      <body>
       <img src="yanzhengma.jsp"/>
      </body>
    </html>
  • 相关阅读:
    HDoj-2072-字数
    hibou 主界面自己侧滑的定义
    Android得到一个闹钟在第三方
    UILabel,UITextField 以及UIButton应用
    推荐几个好文章
    半年后,我还在路上。
    NGUI 3.5过程(三)Button button
    OpenGL研究2.0 计算圆
    CF 444A(DZY Loves Physics-低密度脂蛋白诱导子图)
    美日高价进口中国非转基因大豆:不仅吃还做药
  • 原文地址:https://www.cnblogs.com/84126858jmz/p/4864709.html
Copyright © 2020-2023  润新知