<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

    隨機碼的產生

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

    隨機碼的產生

    <% @?page?contentType? = ? " ?image/jpeg " ? import = " java.awt.*? " ? %>
    <% @?page? import ? = ? " java.awt.image.*,java.util.*,javax.imageio.* " ? %>
    <%!
    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 ,?height = 20 ;
    BufferedImage?image?
    = ? new ?BufferedImage(width,?height,?BufferedImage.TYPE_INT_RGB);

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

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

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

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

    // 畫邊框
    // g.setColor(new?Color());
    // g.drawRect(0,0,width-1,height-1);
    // ?隨機產生155條干擾線,使圖象中的認證碼不易被其它程序探測到
    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);
    }

    // ?取隨機產生的認證碼(4位數字)
    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( 110 ), 20 + random.nextInt( 110 ), 20 + random.nextInt( 110 )));
    // 調用函數出來的顏色相同,可能是因為種子太接近,所以只能直接生成
    g.drawString(rand, 13 * i + 6 , 16 );
    }

    // ?將認證碼存入SESSION
    session.setAttribute( " rand " ,sRand);
    // ?圖象生效
    g.dispose();
    // ?輸出圖象到頁面
    ImageIO.write(image,? " JPEG " ,?response.getOutputStream());
    %>
    主站蜘蛛池模板: 日韩亚洲国产高清免费视频| 成人片黄网站色大片免费观看APP| 日本免费一区二区在线观看| 亚洲av一综合av一区| 国产无遮挡又黄又爽免费网站| 亚洲人成网站观看在线播放| 无套内射无矿码免费看黄| 亚洲国产精品狼友中文久久久| 无遮挡a级毛片免费看| 国产亚洲一区二区三区在线不卡| 国产精品免费视频观看拍拍| 亚洲中文字幕无码一久久区| 永久免费A∨片在线观看| 亚洲AV乱码一区二区三区林ゆな| 222www免费视频| 亚洲va在线va天堂va手机| 免费观看一级毛片| 国产AV无码专区亚洲Av| 又硬又粗又长又爽免费看 | 免费激情网站国产高清第一页| 亚洲中文字幕无码专区| a级在线免费观看| 亚洲视频在线一区二区三区| 成年丰满熟妇午夜免费视频| 免费的黄色的网站| 久久亚洲国产视频| 无限动漫网在线观看免费| 美景之屋4在线未删减免费| 国产精品亚洲а∨无码播放| 波多野结衣在线免费观看| 亚洲丰满熟女一区二区哦| 亚洲精品国产精品乱码不卡| 久久久久久成人毛片免费看| 亚洲中文字幕一二三四区| 亚洲欧洲久久久精品| 中文字幕免费在线观看| 久久综合亚洲色hezyo| 国精无码欧精品亚洲一区| 最近最新的免费中文字幕| 国产黄色片免费看| 麻豆狠色伊人亚洲综合网站|