欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

asp.net(C#) 生成隨機(jī)驗(yàn)證碼的代碼

 更新時(shí)間:2007年04月16日 00:00:00   作者:  
常用的生成驗(yàn)證碼程序 ,圖片效果如下:
.  .  .
源程序如下:
復(fù)制代碼 代碼如下:

using System; 
using System.IO; 
using System.Drawing; 
using System.Drawing.Imaging; 
using System.Text; 
using System.Collections; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 
/**//// <summary> 
///  
/// ** asp.net(C#) 生成驗(yàn)證碼 ** 
///  
///  File: GenerateCheckCode.aspx.cs 
///  
///  Author: 周振興 (Zxjay 飄遙) 
///  
///  E-Mail: tda7264@163.com 
///  
///  Date: 07-04-10 
///  
/// </summary> 
public partial class GenerateCheckCode : System.Web.UI.Page 
...{ 
    protected void Page_Load(object sender, EventArgs e) 
    ...{ 
        string chkCode = string.Empty; 
        //顏色列表,用于驗(yàn)證碼、噪線(xiàn)、噪點(diǎn) 
        Color[] color =...{ Color.Black, Color.Red, Color.Blue, Color.Green, Color.Orange, Color.Brown, Color.Brown, Color.DarkBlue }; 
        //字體列表,用于驗(yàn)證碼 
        string[] font =...{ "Times New Roman", "MS Mincho", "Book Antiqua", "Gungsuh", "PMingLiU", "Impact" }; 
        //驗(yàn)證碼的字符集,去掉了一些容易混淆的字符 
        char[] character =...{ '2', '3', '4', '5', '6', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'R', 'S', 'T', 'W', 'X', 'Y' }; 
        Random rnd = new Random(); 
        //生成驗(yàn)證碼字符串 
        for (int i = 0; i < 4; i++) 
        ...{ 
            chkCode += character[rnd.Next(character.Length)]; 
        } 
        Bitmap bmp = new Bitmap(100, 40); 
        Graphics g = Graphics.FromImage(bmp); 
        g.Clear(Color.White); 
        //畫(huà)噪線(xiàn) 
        for (int i = 0; i < 10; i++) 
        ...{ 
            int x1 = rnd.Next(100); 
            int y1 = rnd.Next(40); 
            int x2 = rnd.Next(100); 
            int y2 = rnd.Next(40); 
            Color clr = color[rnd.Next(color.Length)]; 
            g.DrawLine(new Pen(clr), x1, y1, x2, y2); 
        } 
        //畫(huà)驗(yàn)證碼字符串 
        for (int i = 0; i < chkCode.Length; i++) 
        ...{ 
            string fnt = font[rnd.Next(font.Length)]; 
            Font ft = new Font(fnt, 18); 
            Color clr = color[rnd.Next(color.Length)]; 
            g.DrawString(chkCode[i].ToString(), ft, new SolidBrush(clr), (float)i * 20 + 8, (float)8); 
        } 
        //畫(huà)噪點(diǎn) 
        for (int i = 0; i < 100; i++) 
        ...{ 
            int x = rnd.Next(bmp.Width); 
            int y = rnd.Next(bmp.Height); 
            Color clr = color[rnd.Next(color.Length)]; 
            bmp.SetPixel(x, y, clr); 
        } 
        //清除該頁(yè)輸出緩存,設(shè)置該頁(yè)無(wú)緩存 
        Response.Buffer = true; 
        Response.ExpiresAbsolute = System.DateTime.Now.AddMilliseconds(0); 
        Response.Expires = 0; 
        Response.CacheControl = "no-cache"; 
        Response.AppendHeader("Pragma", "No-Cache"); 
        //將驗(yàn)證碼圖片寫(xiě)入內(nèi)存流,并將其以 "image/Png" 格式輸出 
        MemoryStream ms = new MemoryStream(); 
        try 
        ...{ 
            bmp.Save(ms, ImageFormat.Png); 
            Response.ClearContent(); 
            Response.ContentType = "image/Png"; 
            Response.BinaryWrite(ms.ToArray()); 
        } 
        finally 
        ...{ 
            //顯式釋放資源 
            bmp.Dispose(); 
            g.Dispose(); 
        } 
    } 

使用方法如下:
新建名為 GenerateCheckCode.aspx 的文件,將上述代碼拷貝到代碼文件 GenerateCheckCode.aspx.cs 
在需要驗(yàn)證碼的地方放置語(yǔ)句 <asp:Image ID="img1" runat="server" ImageUrl="~/GenerateCheckCode.aspx" /> 即可。

相關(guān)文章

  • ASP.NET MVC3模板頁(yè)的使用(2)

    ASP.NET MVC3模板頁(yè)的使用(2)

    這篇文章主要為大家詳細(xì)介紹了ASP.NET MVC3模板頁(yè)的使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2015-08-08
  • 淺談ASP.NET的Postback 實(shí)例代碼

    淺談ASP.NET的Postback 實(shí)例代碼

    說(shuō)道ASP.NET的Postback,就得說(shuō)Web Page的生命周期,但是Web Page的生命周期卻不是三言?xún)烧Z(yǔ)就能夠說(shuō)得清楚的,所以在這里單純站的編程的角度,撇開(kāi)Web Page 的生命周期淺談Postback。
    2009-08-08
  • asp.net 抓取網(wǎng)頁(yè)源碼三種實(shí)現(xiàn)方法

    asp.net 抓取網(wǎng)頁(yè)源碼三種實(shí)現(xiàn)方法

    asp.net 抓取網(wǎng)頁(yè)源碼三種實(shí)現(xiàn)方法,需要的朋友可以參考一下
    2013-06-06
  • asp.net gridview中用checkbox全選的幾種實(shí)現(xiàn)的區(qū)別

    asp.net gridview中用checkbox全選的幾種實(shí)現(xiàn)的區(qū)別

    這幾天為了改變客戶(hù)端grid的全選效率問(wèn)題,詳細(xì)研究了ext中g(shù)rid的全選和gridview中通過(guò)腳本實(shí)現(xiàn)的全選效率,總結(jié)一下,供大家參考,有錯(cuò)誤的地方,希望大俠指正,小弟獻(xiàn)丑了。
    2009-06-06
  • Entity Framework中執(zhí)行sql語(yǔ)句

    Entity Framework中執(zhí)行sql語(yǔ)句

    這篇文章介紹了Entity Framework中執(zhí)行sql語(yǔ)句的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • asp.net 取消緩存相關(guān)問(wèn)題說(shuō)明

    asp.net 取消緩存相關(guān)問(wèn)題說(shuō)明

    asp.net 取消緩存相關(guān)問(wèn)題說(shuō)明,需要的朋友可以參考下。
    2009-11-11
  • ADO.NET編程之基礎(chǔ)知識(shí)

    ADO.NET編程之基礎(chǔ)知識(shí)

    ADO.NET是專(zhuān)門(mén)為幫助開(kāi)發(fā)人員建立在Intranet或Internet上使用的高效多層數(shù)據(jù)庫(kù)應(yīng)用程序而設(shè)計(jì)的,它作為Windows平臺(tái)下開(kāi)發(fā)應(yīng)用系統(tǒng)的數(shù)據(jù)訪問(wèn)技術(shù),已經(jīng)在企業(yè)信息系統(tǒng)的開(kāi)發(fā)中得到了廣泛的應(yīng)用。
    2015-06-06
  • Visual Studio Debug實(shí)戰(zhàn)教程之基礎(chǔ)入門(mén)

    Visual Studio Debug實(shí)戰(zhàn)教程之基礎(chǔ)入門(mén)

    這篇文章主要給大家介紹了關(guān)于Visual Studio Debug實(shí)戰(zhàn)教程之基礎(chǔ)入門(mén)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • 解決uploadify使用時(shí)session發(fā)生丟失問(wèn)題的方法

    解決uploadify使用時(shí)session發(fā)生丟失問(wèn)題的方法

    這篇文章主要為大家詳細(xì)介紹了uploadify使用時(shí)發(fā)現(xiàn)session發(fā)生丟失問(wèn)題的解決方法,遇到過(guò)類(lèi)似問(wèn)題的朋友可以參考本文進(jìn)行解決
    2016-05-05
  • ASP.NET WebAPI導(dǎo)入CSV

    ASP.NET WebAPI導(dǎo)入CSV

    這篇文章介紹了ASP.NET WebAPI導(dǎo)入CSV的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05

最新評(píng)論