Monday, 22 July 2013

Captcha in asp.net

Code to create captcha in asp.net 

1 .Add default.aspx Page name as Chaptcha.aspx. On page load

using System.Drawing;
using System.Drawing.Text;

using System.Drawing.Imaging;



        try
        {
            Bitmap objBMP = new System.Drawing.Bitmap(100, 40);

            Graphics objGraphics = System.Drawing.Graphics.FromImage(objBMP);
            objGraphics.Clear(Color.LightPink);

            objGraphics.TextRenderingHint = TextRenderingHint.AntiAlias;

            //' Configure font to use for text
            Font objFont = new Font("verdana", 14, FontStyle.Bold);

            string randomStr = "";

            Random random = new Random();
            int length = 2;
            for (int i = 0; i < length; i++)
            {
                randomStr += ((char)random.Next(97, 122)).ToString();
                randomStr += ((char)random.Next(65, 91)).ToString();
                randomStr += random.Next(2, 9);
            }
            Session.Add("randomStr", randomStr);
            //' Write out the text
            objGraphics.DrawString(randomStr, objFont, Brushes.DarkSlateBlue, 4, 4);
            //' Set the content type and return the image
            Response.ContentType = "image/GIF";
            objBMP.Save(Response.OutputStream, ImageFormat.Gif);
            objFont.Dispose();
            objGraphics.Dispose();
            objBMP.Dispose();


        }
        catch
        {

        }

    }

2. add default2.aspx 

Add in <body>

              <img id="Image1" runat="server" />
              
                <asp:Button ID="btnRefresh" runat="server" Text="Refresh" 
                        PostBackUrl="~/default2.aspx" onclick="btnRefresh_Click" />


3. default2.aspx.cs

on page load

            Image1.Src = "Chaptcha.aspx";

 protected void btnRefresh_Click(object sender, EventArgs e)
    {
        txtcode.Text = "";
        Image1.Src = "Chaptcha.aspx";
    }

No comments:

Post a Comment