<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      生成圖形驗證碼代碼
      public class Ajax_SafeCode : PageExtend
          {

              
      protected void Page_Load(object sender, EventArgs e)
              {
                  HttpContext.Current.Session[
      "CheckCode"= RndNum(4);
                  CreateImages(HttpContext.Current.Session[
      "CheckCode"].ToString());
              }



              
      /// <summary>
              
      /// 生成驗證圖片
              
      /// </summary>
              
      /// <param name="checkCode">驗證字符</param>
              private void CreateImages(string checkCode)
              {
                  
      int iwidth = (int)(checkCode.Length * 13);
                  System.Drawing.Bitmap image 
      = new System.Drawing.Bitmap(iwidth, 20);
                  Graphics g 
      = Graphics.FromImage(image);
                  g.Clear(Color.White);
                  
      //定義顏色
                  Color[] c = { Color.Black, Color.Red, Color.DarkBlue, Color.Green, Color.Orange, Color.Brown, Color.DarkCyan, Color.Purple };
                  
      //定義字體            
                  string[] font = { "Verdana""Microsoft Sans Serif""Comic Sans MS""Arial""宋體" };
                  Random rand 
      = new Random();
                  
      //隨機輸出噪點
                  for (int i = 0; i < 50; i++)
                  {
                      
      int x = rand.Next(image.Width);
                      
      int y = rand.Next(image.Height);
                      g.DrawRectangle(
      new Pen(Color.LightGray, 0), x, y, 11);
                  }

                  
      //輸出不同字體和顏色的驗證碼字符
                  for (int i = 0; i < checkCode.Length; i++)
                  {
                      
      int cindex = rand.Next(7);
                      
      int findex = rand.Next(5);

                      Font f 
      = new System.Drawing.Font(font[findex], 10, System.Drawing.FontStyle.Bold);
                      Brush b 
      = new System.Drawing.SolidBrush(c[cindex]);
                      
      int ii = 4;
                      
      if ((i + 1% 2 == 0)
                      {
                          ii 
      = 2;
                      }
                      g.DrawString(checkCode.Substring(i, 
      1), f, b, 3 + (i * 12), ii);
                  }
                  
      //畫一個邊框
                  g.DrawRectangle(new Pen(Color.Black, 0), 00, image.Width - 1, image.Height - 1);

                  
      //輸出到瀏覽器
                  System.IO.MemoryStream ms = new System.IO.MemoryStream();
                  image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                  HttpContext.Current.Response.ClearContent();
                  
      //Response.ClearContent();
                  HttpContext.Current.Response.ContentType = "image/Jpeg";
                  HttpContext.Current.Response.BinaryWrite(ms.ToArray());
                  g.Dispose();
                  image.Dispose();
              }

              
      /// <summary>
              
      /// 生成隨機的字母
              
      /// </summary>
              
      /// <param name="VcodeNum">生成字母的個數</param>
              
      /// <returns>string</returns>
              private string RndNum(int VcodeNum)
              {
                  
      string Vchar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
                  
      string[] VcArray = Vchar.Split(',');
                  
      string VNum = "";   //由于字符串很短,就不用StringBuilder了
                  int temp = -1;       //記錄上次隨機數值,盡量避免生產幾個一樣的隨機數

                  
      //采用一個簡單的算法以保證生成隨機數的不同
                  Random rand = new Random();
                  
      for (int i = 1; i < VcodeNum + 1; i++)
                  {
                      
      if (temp != -1)
                      {
                          rand 
      = new Random(i * temp * unchecked((int)DateTime.Now.Ticks));
                      }
                      
      int t = rand.Next(VcArray.Length);
                      
      if (temp != -1 && temp == t)
                      {
                          
      return RndNum(VcodeNum);
                      }
                      temp 
      = t;
                      VNum 
      += VcArray[t];

                  }
                  
      return VNum;
              }

          }

       

      posted on 2010-01-07 10:52  kuibono  閱讀(215)  評論(0)    收藏  舉報

      愛造人 | 快播影視
      主站蜘蛛池模板: 久久九九99这里有视频| 精品无码成人片一区二区| 办公室强奷漂亮少妇视频| 九九热视频在线免费观看| av中文字幕国产精品| 国产日韩乱码精品一区二区 | 亚洲日本韩国欧美云霸高清| 韩国无码AV片在线观看网站| 久爱www人成免费网站| 爱性久久久久久久久| 国产精品国产三级国快看 | 国产精品尤物午夜福利| 久久成人国产精品免费软件| 国产精品福利自产拍在线观看 | 人人爽人人模人人人爽人人爱| 久久综合亚洲色一区二区三区| 亚洲特黄色片一区二区三区| 亚洲成人资源在线观看| 中文 在线 日韩 亚洲 欧美| 亚洲精品中文av在线| 国产精品白丝久久av网站| 日本精品aⅴ一区二区三区| 午夜精品福利一区二区三| 亚洲国产成人片在线观看无码| 亚洲一区二区三区| 亚洲一区二区中文字幕| 久久国产成人午夜av影院| 99热久久这里只有精品| 最新AV中文字幕无码专区| 人妻中文字幕亚洲精品| 久久先锋男人AV资源网站| 国产精品普通话国语对白露脸 | 蜜桃无码一区二区三区| 91午夜福利在线观看精品| 成人无码www在线看免费| 国产精品自拍中文字幕| 亚洲av片在线免费观看| 国语对白刺激在线视频国产网红| 人妻系列无码专区免费| 卢湾区| 国产午夜A理论毛片|