乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      ASP.NET驗(yàn)證碼

       狼志凌云 2010-12-11
      //---------------------------------------------
      // RandomImage.aspx.cs驗(yàn)證碼生成頁(yè)面后臺(tái)
      using System;
      using System.Data;
      using System.Configuration;
      using System.Collections;
      using System.Web;
      using System.Web.Security;
      using System.Web.UI;
      using System.Web.UI.WebControls;
      using System.Web.UI.WebControls.WebParts;
      using System.Web.UI.HtmlControls;
      using System.Drawing;
      using System.IO;
      using System.Drawing.Imaging;
      using System.Drawing.Drawing2D;
      using System.Drawing.Printing;
      public partial class RandomImage : System.Web.UI.Page
      {
          protected void Page_Load(object sender, EventArgs e)
          {
              CreateCheckCodeImage(GenerateCheckCode());
          }
          /// <summary>
          /// 生成隨機(jī)校驗(yàn)碼字符串
          /// </summary>
          /// <returns>生成的隨機(jī)校驗(yàn)碼字符串</returns>
          private string GenerateCheckCode()
          {
              int number;
              string strCode = string.Empty;
              //隨機(jī)數(shù)種子
              Random random = new Random();
              for (int i = 0; i < 4; i++) //校驗(yàn)碼長(zhǎng)度為4
              {
                  //隨機(jī)的整數(shù)
                  number = random.Next();
                  //字符從0-9,A-Z中隨機(jī)產(chǎn)生,對(duì)應(yīng)的ASCII碼分別為
                  //48-57,65-90
                  number = number % 36;
                  if (number < 10)
                  {
                      number += 48;
                  }
                  else
                  {
                      number += 55;
                  }
                  strCode += ((char)number).ToString();
              }
              //在session中保存校驗(yàn)碼
              Session["CheckCode"] = strCode;
              return strCode;
          }
          /// <summary>
          /// 根據(jù)校驗(yàn)碼輸出圖片
          /// </summary>
          /// <param name="checkCode">產(chǎn)生的隨機(jī)校驗(yàn)碼</param>
          private void CreateCheckCodeImage(string checkCode)
          {
              //若校驗(yàn)碼為空,則直接返回
              if (checkCode == null || checkCode.Trim() == String.Empty)
              {
                  return;
              }
              //根據(jù)校驗(yàn)碼的長(zhǎng)度確定輸出圖片的長(zhǎng)度
              System.Drawing.Bitmap image = new System.Drawing.Bitmap(55, 20);//(int)Math.Ceiling(Convert.ToDouble(checkCode.Length * 15))
              //創(chuàng)建Graphics對(duì)象
              Graphics g = Graphics.FromImage(image);
              try
              {
                  //生成隨機(jī)數(shù)種子
                  Random random = new Random();
                  //清空?qǐng)D片背景色
                  g.Clear(Color.White);
                  //畫(huà)圖片的背景噪音線 10條
                  //---------------------------------------------------
                  for (int i = 0; i < 10; i++)
                  {
                      //噪音線起點(diǎn)坐標(biāo)(x1,y1),終點(diǎn)坐標(biāo)(x2,y2)
                      int x1 = random.Next(image.Width);
                      int x2 = random.Next(image.Width);
                      int y1 = random.Next(image.Height);
                      int y2 = random.Next(image.Height);
                      //用銀色畫(huà)出噪音線
                      g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
                  }
                  //---------------------------------------------------
                  //Brush b = Brushes.Silver;
                  //g.FillRectangle(b, 0, 0, image.Width, image.Height);
                  //---------------------以上兩種任選其一------------------------------
                  //輸出圖片中校驗(yàn)碼的字體: 12號(hào)Arial,粗斜體
                  Font font = new Font("Arial",12,(FontStyle.Bold | FontStyle.Italic));
                  //線性漸變畫(huà)刷
                  LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height),Color.Blue,Color.Purple,1.2f,true);
                  g.DrawString(checkCode, font, brush, 2, 2);
                  //畫(huà)圖片的前景噪音點(diǎn) 50個(gè)
                  for (int i = 0; i < 50; i++)
                  {
                      int x = random.Next(image.Width);
                      int y = random.Next(image.Height);
                      image.SetPixel(x, y, Color.FromArgb(random.Next()));
                  }
                  //畫(huà)圖片的邊框線
                  g.DrawRectangle(new Pen(Color.Peru),0,0,image.Width - 1,image.Height - 1);
                  //創(chuàng)建內(nèi)存流用于輸出圖片
                  using (MemoryStream ms = new MemoryStream())
                  {
                      //圖片格式指定為png
                      image.Save(ms, ImageFormat.Jpeg);
                      //清除緩沖區(qū)流中的所有輸出
                      Response.ClearContent();
                      //輸出流的HTTP MIME類型設(shè)置為"image/Png"
                      Response.ContentType = "image/Jpeg";
                      //輸出圖片的二進(jìn)制流
                      Response.BinaryWrite(ms.ToArray());
                  }
              }
              finally
              {
                  //釋放Bitmap對(duì)象和Graphics對(duì)象
                  g.Dispose();
                  image.Dispose();
              }
          }
      }
      //--------------------------------------------------------------------
      //測(cè)試頁(yè)面 dafault.aspx
      <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" Debug="true" %>
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www./1999/xhtml">
      <head runat="server">
          <title>無(wú)標(biāo)題頁(yè)</title>
      </head>
      <body>
          <form id="form1" runat="server">
          <div>
          <asp:TextBox ID="txtCode" runat="server"></asp:TextBox>
              <asp:Image ID="Image1" runat="server" ImageUrl="~/RandomImage.aspx" />
              <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /><hr />
              <asp:Label ID="lblMsg" runat="server" Text="Label"></asp:Label>
          </div>
          </form>
      </body>
      </html>
      //----------------------------------------------------
      //測(cè)試頁(yè)面后臺(tái)
      using System;
      using System.Configuration;
      using System.Data;
      using System.Linq;
      using System.Web;
      using System.Web.Security;
      using System.Web.UI;
      using System.Web.UI.HtmlControls;
      using System.Web.UI.WebControls;
      using System.Web.UI.WebControls.WebParts;
      using System.Xml.Linq;
      public partial class _Default : System.Web.UI.Page
      {
          protected void Page_Load(object sender, EventArgs e)
          {
          }
          protected void Button1_Click(object sender, EventArgs e)
          {
              if (string.Compare(Session["CheckCode"].ToString(), this.txtCode.Text, true) != 0)
              {
                  lblMsg.Text = "驗(yàn)證碼錯(cuò)誤,請(qǐng)輸入正確的驗(yàn)證碼。";
                  return;
              }
              else
              {
                  lblMsg.Text = "成功";
              }
          }
      }

      本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/dhping/archive/2009/06/11/4261761.aspx

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多