你的位置:首页 > ASP.net教程

[ASP.net教程]Winform之GDI绘制验证码


主要功能:点击验证码可更换,输入验证码进行登陆

 

需要导入命名空间System.Drawing;

产生五位的随机字符串:

1        Random random = new Random();2       //产生5个随机字符串3       str = null;4       for (int i = 0; i < 5; i++)5       {6         int j = random.Next(64, 90);7         str = str + (char)j;8       }

画字符串

 1       //创建图片 2       Bitmap bmp = new Bitmap(120,30); 3       //创建GDI对象 4       Graphics g = Graphics.FromImage(bmp); 5       //循环画字符串 6       for (int i = 0; i < str.Length; i++) 7       { 8         Point p = new Point(i*20,0); 9         //随机字体10         string[] fonts = { "宋体", "黑体", "微软雅黑", "隶属", "仿宋", };11         //随机颜色12         Color[] colors = { Color.Red, Color.Aquamarine, Color.Blue, Color.Yellow, Color.YellowGreen };13         //画字符串14         g.DrawString(str[i].ToString(), new Font(fonts[random.Next(0, fonts.Length)], 20, FontStyle.Bold), new SolidBrush(colors[random.Next(0, colors.Length)]), p);15       }        

到这里效果如下:

这时候我们在加入一些线条:

1        for (int i = 0; i < 20; i++)2       {3         Point p1 = new Point(random.Next(0, bmp.Width), random.Next(0, bmp.Height));4         Point p2 = new Point(random.Next(0, bmp.Width), random.Next(0, bmp.Height));5         g.DrawLine(new Pen(Color.Green), p1, p2);6       }

在画一些像素点:

1      //画像素点2       for (int i = 0; i < 500; i++)3       {4         Point p = new Point(random.Next(0, bmp.Width), random.Next(0, bmp.Height));5         bmp.SetPixel(p.X, p.Y, Color.Black);6       }        

贵州旅游团报价贵州旅游团购优惠贵州旅游线路报价贵州旅游指南攻略大全贵州旅游住哪里比较方便“神秘魔力盛宴”方特魔法节即将揭幕 大连森林动物园门票价格以开放时间 洛带古镇美食推荐 方特门票_方特欢乐世界门票_郑州方特欢乐世界门票 文殊院公交线路 九寨沟藏族服饰介绍 成都火车北站怎么去文殊院 九寨沟住宿攻略 黄山火车站到夹溪河漂流怎么走?黄山火车站到休宁夹溪河漂流乘车路线? 柞水峡谷第一漂特色?柞水漂流一日游攻略? 母亲节秦皇岛金沙湾有什么优惠活动?2015金沙湾母亲节活动介绍? 夹溪河漂流小孩多少钱?休宁夹溪河漂流儿童票价格? 掐准世界婚礼潮流 2015年旅行结婚这些地方最In[四] 周末背上行囊去徒步 盘点河南8条经典徒步线路 周董婚照亮瞎眼 寻找南宁最美婚纱拍摄地 盘点2015武汉新年祈福地 1N967B_T50A Datasheet 1N967B_T50A Datasheet 1N967B_T50R Datasheet 1N967B_T50R Datasheet 1N967BTR Datasheet 1N967BTR Datasheet 东莞松山湖好玩吗 东莞松山湖好玩吗 东莞松山湖好玩吗 广州港澳通行证办理 广州港澳通行证办理 广州港澳通行证办理 广州增城市新塘镇 广州增城市新塘镇 广州增城市新塘镇