首页 > 代码库 > asp.net 生成验证码

asp.net 生成验证码

using System;using System.Collections;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;using System.Drawing;using System.Drawing.Imaging;namespace test{    public partial class verCode : System.Web.UI.Page    {        protected void Page_Load(object sender, EventArgs e)        {            if (!IsPostBack)            {                GenerateCode();            }        }        private void GenerateCode()        {            Random r = new Random();            string code = "";            for (int i = 0; i < 5; i++)            {                code += r.Next(0, 10);            }            //字体            string[] fonts = { "微软雅黑","宋体","黑体","仿宋","隶书"};            //字体颜色            Color[] colors = { Color.Red,Color.Black,Color.Blue,Color.Orange,Color.Yellow };            //创建位图            Bitmap bmp = new Bitmap(100, 30);            //创建GDI            Graphics g = Graphics.FromImage(bmp);            //清空画布            g.Clear(Color.White);            //创建画笔            Pen pen = new Pen(Color.Green);            //设置线的宽度            pen.Width = 2;            //划线添加干扰            for (int i = 0; i < 50; i++)            {                Point p1 = new Point(r.Next(0, bmp.Width), r.Next(0, bmp.Height));                Point p2 = new Point(r.Next(0, bmp.Width), r.Next(0, bmp.Height));                //划线                g.DrawLine(pen, p1, p2);            }            for (int i = 0; i < 5; i++)            {                Font font = new Font(fonts[r.Next(0,5)],20,FontStyle.Bold);                SolidBrush brush = new SolidBrush(colors[r.Next(0,5)]);                Point p = new Point(i*20,0);                //画文本内容                g.DrawString(code[i].ToString(),font,brush,p);                            }                        //添加斑点            for (int i = 0; i < 500; i++)            {                //对位图添加斑点                bmp.SetPixel(r.Next(0,bmp.Width),r.Next(0,bmp.Height),Color.Lime);            }                        //保存位图            bmp.Save(Response.OutputStream, ImageFormat.Gif);            //设置相应类型            Response.ContentType = "image/gif";            bmp.Dispose();            g.Dispose();        }    }}

 

asp.net 生成验证码