验证码代码

protected void Page_Load(object sender, EventArgs e)

    {

        string str = "0123456789";

        char[] chs = str.ToCharArray();

        Random rand = new Random();

        string validater = "";

        for (int i = 0; i < 4; i++)

        {

            char x = chs[rand.Next(0, chs.Length)];

            validater += x;

        }

        Session["validater_code"] = validater;

        //Response.Write(validater);

        CreateImage(validater);

    }

    protected void CreateImage(string str)

    {

        int iWidth = str.Length * 11;

        Bitmap img = new Bitmap(iWidth,20);

        Graphics g = Graphics.FromImage(img);

        g.Clear(Color.White);

        Color[] colors = new Color[] {Color.White,Color.Red,Color.Yellow,Color.Black,Color.Blue};

        Random rand = new Random();

        for (int i = 0; i < str.Length; i++)

        {

            Color c=colors[rand.Next(0,colors.Length)];

            Font f = new Font("Courier New",11);

            Brush b = new System.Drawing.SolidBrush(c);

            g.DrawString(str.Substring(i, 1), f, b, (i * 10) + 1, 1, StringFormat.GenericDefault);

 

        }

       //描边

        g.DrawRectangle(new Pen(Color.Black), 0, 0, img.Width - 1, img.Height - 1); ;

        //保存图片到内存

        MemoryStream ms = new MemoryStream();

        img.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);

        //页面的东西全部清除 只剩下面的图片

        Response.Clear();

        Response.ContentType = "image/Jpeg";

        Response.BinaryWrite(ms.ToArray());

        g.Dispose();

        img.Dispose();

 

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值