<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    即使世界明天毀滅,我也要在今天種下我的葡萄樹。
    posts - 112, comments - 14, trackbacks - 0, articles - 11

    隨機(jī)碼的產(chǎn)生

    Posted on 2006-05-25 14:18 閱讀(249) 評論(0)  編輯  收藏 所屬分類: WEB Design

    隨機(jī)碼的產(chǎn)生

    <% @?page?contentType? = ? " ?image/jpeg " ? import = " java.awt.*? " ? %>
    <% @?page? import ? = ? " java.awt.image.*,java.util.*,javax.imageio.* " ? %>
    <%!
    Color?getRandColor(
    int ?fc, int ?bc) { // 給定范圍獲得隨機(jī)顏色
    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);
    }

    %>

    <%
    // 設(shè)置頁面不緩存
    response.setHeader( " Pragma " , " No-cache " );
    response.setHeader(
    " Cache-Control " , " no-cache " );
    response.setDateHeader(
    " Expires " ,? 0 );

    // ?在內(nèi)存中創(chuàng)建圖象
    int ?width = 60 ,?height = 20 ;
    BufferedImage?image?
    = ? new ?BufferedImage(width,?height,?BufferedImage.TYPE_INT_RGB);

    // ?獲取圖形上下文
    Graphics?g? = ?image.getGraphics();

    // 生成隨機(jī)類
    Random?random? = ? new ?Random();

    // ?設(shè)定背景色
    g.setColor(getRandColor( 200 , 250 ));
    g.fillRect(
    0 ,? 0 ,?width,?height);

    // 設(shè)定字體
    g.setFont( new ?Font( " Times?New?Roman " ,Font.PLAIN, 18 ));

    // 畫邊框
    // g.setColor(new?Color());
    // g.drawRect(0,0,width-1,height-1);
    // ?隨機(jī)產(chǎn)生155條干擾線,使圖象中的認(rèn)證碼不易被其它程序探測到
    g.setColor(getRandColor( 160 , 200 ));
    for ?( int ?i = 0 ;i < 155 ;i ++ )
    {
    int ?x? = ?random.nextInt(width);
    int ?y? = ?random.nextInt(height);
    int ?xl? = ?random.nextInt( 12 );
    int ?yl? = ?random.nextInt( 12 );
    g.drawLine(x,y,x
    + xl,y + yl);
    }

    // ?取隨機(jī)產(chǎn)生的認(rèn)證碼(4位數(shù)字)
    String?sRand = "" ;
    for ?( int ?i = 0 ;i < 4 ;i ++ ) {
    String?rand
    = String.valueOf(random.nextInt( 10 ));
    sRand
    += rand;
    // ?將認(rèn)證碼顯示到圖象中
    g.setColor( new ?Color( 20 + random.nextInt( 110 ), 20 + random.nextInt( 110 ), 20 + random.nextInt( 110 )));
    // 調(diào)用函數(shù)出來的顏色相同,可能是因?yàn)榉N子太接近,所以只能直接生成
    g.drawString(rand, 13 * i + 6 , 16 );
    }

    // ?將認(rèn)證碼存入SESSION
    session.setAttribute( " rand " ,sRand);
    // ?圖象生效
    g.dispose();
    // ?輸出圖象到頁面
    ImageIO.write(image,? " JPEG " ,?response.getOutputStream());
    %>
    主站蜘蛛池模板: 中国毛片免费观看| 国产91色综合久久免费| 亚洲成在人天堂在线| 亚洲精品无码99在线观看| 国产一级黄片儿免费看| 亚洲校园春色小说| 免费人成网站在线播放| 暖暖免费日本在线中文| 中文字幕人成人乱码亚洲电影 | 亚洲国产一区明星换脸| 99re在线精品视频免费| 亚洲国产欧美国产综合一区| 亚洲乱码日产一区三区| 成年人在线免费看视频| 在线看片免费人成视频播| 国产 亚洲 中文在线 字幕| 亚洲综合无码精品一区二区三区| 97在线观免费视频观看 | 国产猛男猛女超爽免费视频| 亚洲熟妇成人精品一区| 国产AV无码专区亚洲AVJULIA| 最近高清国语中文在线观看免费| 97在线免费视频| 老牛精品亚洲成av人片| 亚洲校园春色小说| 亚洲人成色777777在线观看| 国产精品国产午夜免费福利看 | 成年女人毛片免费视频| 久草免费福利视频| 最好2018中文免费视频| 亚洲男人天堂2018av| 亚洲春色在线视频| 亚洲国产高清在线一区二区三区| 亚洲第一成年免费网站| 91精品免费观看| a在线观看免费视频| 亚欧洲精品在线视频免费观看| 亚洲第一成年网站视频 | 99久久国产免费中文无字幕| 国产精品无码永久免费888| 亚洲AV无码资源在线观看|