c#验证码
来源:互联网 发布:mysql中的存储过程 编辑:程序博客网 时间:2024/06/04 23:19
1.生成5位随机验证码
Random rd = new Random(); string str = ""; int number = 0; char code; for (int i = 0; i < 5; i++) { number = rd.Next(); if (number % 2 == 0) code = (char)('0' + (char)(number % 10)); else code = (char)('A' + (char)(number % 26)); str += code.ToString(); }
2.创建GDI对象
Bitmap bmp = new Bitmap(100, 35); Graphics g = Graphics.FromImage(bmp); for (var j = 0; j < 5; j++) { Point p = new Point(j * 20, 6); g.DrawRectangle(Pens.Black, new Rectangle(0, 0, bmp.Width - 1, bmp.Height - 1)); string[] fonts = { "微软雅黑", "宋体", "黑体", "隶书", "仿宋" }; Color[] colors = { Color.Yellow, Color.Blue, Color.Black, Color.Red, Color.Green }; g.DrawString(str[j].ToString(), new Font(fonts[rd.Next(0, 5)], 15, FontStyle.Bold), new SolidBrush(colors[rd.Next(0, 5)]), p); }
3.画干扰线和干扰点
//画干扰线 for (var i = 0; i < 20; i++) { Point p1 = new Point(rd.Next(0, bmp.Width), rd.Next(0, bmp.Height)); Point p2 = new Point(rd.Next(0, bmp.Width), rd.Next(0, bmp.Height)); g.DrawLine(new Pen(Brushes.Green), p1, p2); } picbox.Image = bmp; //画干扰点 for (var i = 0; i < 300; i++) { Point p1 = new Point(rd.Next(0, bmp.Width), rd.Next(0, bmp.Height)); bmp.SetPixel(p1.X, p1.Y, Color.Black); }
0 0
- 验证码 c#版本
- C#图片验证码
- C#生成验证码
- C#生成验证码
- c#验证码
- C#实现验证码
- C#取验证码
- c# 生成验证码
- c# 识别验证码
- C# 验证码 源代码
- 验证码 C#版本
- C#验证码生成
- C#验证码
- c# 验证码问题
- C# 验证码
- c#验证码
- C#生成验证码
- c#验证码
- core_param的使用
- Hibernate通过注解实现复合主键
- 学习python的文件处理
- 字体的大小(pt)和像素(px)如何转换?
- 匹配
- c#验证码
- 关于map
- setFocusable、setEnabled、setClickable区别
- wordpress 发送电子邮件
- Object超类中Equals方法、toString方法和hashCode方法使用的举例
- LeetCode Word Pattern 哈希表
- 查看文章 mysql:表注释和字段注释
- Java利用Comparator与Collections.sort对List排序
- 【深入Java虚拟机】之六:Java语法糖