1 protected void Page_Load(object sender, EventArgs e)
2 {
3 Bitmap bitmap = CreateBitmap(GetRandomDigit(2)+GetRandomNumbers(2));
4 bitmap.Save(Response.OutputStream, ImageFormat.Jpeg);
5 bitmap.Dispose();
6 }
7 #region 数字验证
8 public string GetRandomDigit(int len)
9 {
10 string str = "1234567890";
11 string strResult = "";
12 Random random = new Random(unchecked((int)DateTime.Now.Ticks));
13 for (int i = 0; i < len; i++)
14 {
15 strResult +=str[random.Next(0,10)].ToString();
16 }
17 return strResult;
18 }
19 #endregion
20
21
22 #region 字母验证
23 public string GetRandomNumbers(int len)
24 {
25 string str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
26 String strResult = "";
27 Random random = new Random();
28 for (int i = 0; i < len; i++)
29 {
30 strResult += str[random.Next(0, 10)].ToString();
31 }
32 return strResult;
33 }
34
35 #endregion
36
37
38 public Bitmap CreateBitmap(string check)
39 {
40 int width = (int)(check.Length * 12);
41 Bitmap bitmap = new Bitmap(width, 20);
42 Graphics graphics = Graphics.FromImage(bitmap);
43 graphics.Clear(Color.White);
44 Color[] c ={ Color.Black,Color.Red, Color.DarkBlue, Color.Green, Color.Brown, Color.DarkCyan,Color.Purple};
45 string[] font = { "Verdana","Microsoft Sans Serif","Comic Sans MS","Arial","宋体"};
46 Random random = new Random();
47 for (int i = 0; i < 30; i++)
48 {
49 int x1 = random.Next(bitmap.Width);
50 int x2 = random.Next(bitmap.Width);
51 int y1 = random.Next(bitmap.Height);
52 int y2 = random.Next(bitmap.Height);
53 graphics.DrawLine(new Pen(Color.LightGray, 1), new Point(x1, y1), new Point(x2, y2));
54
55 }
56 for (int i = 0; i < check.Length; i++)
57 {
58 int cIndex = random.Next(c.Length-1);
59 int fIndex = random.Next(font.Length);
60 Font f = new Font(font[fIndex].ToString(),10, FontStyle.Regular);
61 Brush b = new SolidBrush(c[cIndex]);
62 int ii = 4;
63 if ((i +1)% 2 == 0)
64 {
65 ii = 2;
66 }
67 graphics.DrawString(check.Substring(i, 1), f, b, new PointF(3 + (i * 12 ), ii));
68 }
69 graphics.Flush();
70
71 return bitmap;
72 }
前台: <img src="Default.aspx" onclick="this.src=this.src+'?'" alt="验证码" />
分享到:
相关推荐
Java彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码JavaJava彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码
JSP彩色验证码的实现JSP彩色验证码的实现JSP彩色验证码的实现JSP彩色验证码的实现
java生成验证码源码包括彩色验证码 包括jsp生成验证码和彩色验证码
java 生成彩色验证码的程序,改程序可以极大的帮助你,是你可以自动生成彩色的验证码
优化过的 c# 彩色验证码
彩色验证码的简单实现
JSP实现彩色验证码实现具体源代码
JSP实现彩色验证码(源码示例)
整个html打开可以看到效果,不包含验证码背景图片,自己找一个命名为code.jpg就有背景了,js验证码比jsp...这个程序既可以直接验证,也可以点击验证码刷新一个新的验证码(当原来的验证码看不清楚的时候),再验证
JSP彩色验证码JSP彩色验证码JSP彩色验证码
中文彩色验证码实现(变形\噪点\点击更换) <br>一个中文彩色验证码程序,实现了文字的变形,随机噪点及点击更换验证码,代码非常简单.
彩色验证码: 1.原理:随机生成一个包含字符串的图片,用户读取图片中的字符信息,将其输入到指定文本框中,随着登录或者注册功能的提交将其传递给服务器进行验证处理。 2.作用:防止通过程序进行批量注册或者暴力...
一个简单的生成彩色验证码的例子,部分代码if (r1 == 13) { r2 = random.nextInt(7); //生成0到7之间的随机数 } else { r2 = random.nextInt(16); //生成0到16之间的随机数 } String str_r2 = rBase[r2]; // ...
Jsp中的验证码 java实现 Jsp中的验证码 java实现
JSP中彩色验证码 注册验证码 中文验证码 图片验证码的生成
验证码 制作彩色验证码
和平时登录QQ或其他程序时一样,产生验证码,输入对应验证码才可通过验证。
asp彩色验证码,无组件的asp彩色验证码 使用方法 c = Request.form("c") '如果可以输入小写的数字,请把下面三行注释掉 for ii = 0 to 9 c = Replace(c,Cstr(ii),"") next c = Replace(c,"零","0") c = ...
JSP自动生成彩色验证码-由2个JSP页面与一个action验证验证码的类构成,code.jsp自动生成4位彩色随机码。index.jsp是登陆页面包含彩色验证码
jsp彩色验证码.rar jsp彩色验证码.rar