C#生成简单验证码的源码

将开发过程中较好的内容做个收藏,如下的资料是关于C#生成简单验证码的的内容。

 

   

   

   

 

 

   

 




C#代码




<%@ WebHandler Language="C#" Class="WaterMark" %>

using System;

using System.Web;

using System.Drawing;

using System.Drawing.Drawing2D;

using System.Web.SessionState; 

{

    public void ProcessRequest(HttpContext context)

    {

        System.Drawing.Bitmap image = new System.Drawing.Bitmap(70, 22);

        Graphics g = Graphics.FromImage(image);

        try

        {

            Random random = new Random();

            g.Clear(Color.White);

            int i;

            for (i = 0; i < 25; i++)

            {

                int x1 = random.Next(image.Width);

                int x2 = random.Next(image.Width);

                int y1 = random.Next(image.Height);

                int y2 = random.Next(image.Height);

                g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);

            }

            Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold));

            System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2F, true);

            g.DrawString(checkCode, font, brush, 2, 2);

            g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);

            System.IO.MemoryStream ms = new System.IO.MemoryStream();

            image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);

            context.Response.ClearContent();

            context.Response.ContentType = "image/Gif";

            context.Response.BinaryWrite(ms.ToArray());

        }

        finally

        {

            g.Dispose();

            image.Dispose();

        }

    }

    private string GenCode(int num)

    {

        string str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

        char[] chastr = str.ToCharArray();

        string code = "";

        Random rd = new Random();

        int i;

        for (i = 0; i < num; i++)

        {

            code += str.Substring(rd.Next(0, str.Length), 1);

        }

        return code;

    }

    public bool IsReusable

    {

        get

        {

            return false;

        }

    }

}

你可能感兴趣的:(C#生成简单验证码的源码)