验证码的使用

//在一个页面做上面版,进行绘画

//随机获得五位数
string[] code = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "a", "b", "c", "d", "e", "f", "g", "h", "i", "g", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "G", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
string pp = "";
Random rd = new Random();
for (int i = 0; i < 4; i++)
{
pp += code[rd.Next(0, 61)];
}

StaticData.code = pp;
//构造面板
Bitmap bt = new Bitmap(80, 30); //定义一个面板
Graphics gp = Graphics.FromImage(bt); //在面板上定义绘图的实例
Rectangle rc = new Rectangle(2, 2, 76, 26); //定义一个矩形
gp.FillRectangle(new SolidBrush(Color.Green), rc); //填充矩形
gp.DrawString(pp, new Font("幼圆", 20), new SolidBrush(Color.Blue), rc); //在矩形中画出字符串

Pen p = new Pen(Color.White, 1);
//Point p1 = new Point(2, 2);
//Point p2 = new Point(76, 76);
//gp.DrawLine(p, p1, p2);
for (int i = 0; i < 5; i++)
{
int x1 = rd.Next(80);
int y1 = rd.Next(30);
int x2 = rd.Next(80);
int y2 = rd.Next(30);
Point p1 = new Point(x1, y1);
Point p2 = new Point(x2, y2);
gp.DrawLine(p, p1, p2);
}


bt.Save(Response.OutputStream, ImageFormat.Jpeg); //将图片显示出来

//在页面应用

<img src="../yanzheng.aspx" onclick="news()" runat="server" id="img" />

//JS代码实现点击刷新

function news() {
            var myDate = new Date();
            var id = document.getElementById("img");
            id.src = "ImgCode.aspx?"+myDate.toLocaleString();
        }

posted @ 2012-01-04 18:37  Mister Zhai  阅读(194)  评论(0编辑  收藏  举报