<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 閱讀(242) 評論(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());
    %>
    主站蜘蛛池模板: 日韩亚洲精品福利| 女人18毛片水真多免费播放| 久热中文字幕在线精品免费| 国产又黄又爽又猛免费app| 午夜免费福利影院| 在线观看亚洲av每日更新| 亚洲影院在线观看| 亚洲AV无码专区在线电影成人| 无遮挡国产高潮视频免费观看 | 亚洲国产精品无码久久98| 成人A级毛片免费观看AV网站| 日日夜夜精品免费视频| 精品国产日韩亚洲一区| 日韩高清在线高清免费| 久久亚洲国产成人影院网站 | 亚洲人精品亚洲人成在线| 亚洲欧洲在线观看| 亚洲色精品三区二区一区| 成人免费av一区二区三区| 91九色精品国产免费| 亚洲高清最新av网站| 亚洲国产精品无码久久青草| 久久综合图区亚洲综合图区| 亚洲国产欧美国产综合一区| 国产真人无码作爱免费视频| 中文毛片无遮挡高潮免费| 精品亚洲视频在线观看| 亚洲中文久久精品无码1| 一个人看的免费视频www在线高清动漫 | 亚洲精品少妇30p| 亚洲愉拍一区二区三区| 99re6在线精品免费观看| 亚洲欧洲免费无码| 国产亚洲精品岁国产微拍精品| 亚洲综合一区国产精品| 你是我的城池营垒免费看 | 亚洲AV无码日韩AV无码导航| 亚洲乱妇老熟女爽到高潮的片| 久久免费线看线看| 四虎影视永久免费观看| 亚洲伊人久久精品|