赞
踩
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Drawing.Text;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
-
- namespace CAPTCHA
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
-
- /// <summary>
- /// 实现点一下就换一张验证码
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void pbCaptcha_Click(object sender, EventArgs e)
- {
- Bitmap bmp = new Bitmap(120, 40);
- Graphics g = Graphics.FromImage(bmp);
- Random r = new Random();
-
- string str = "";
- for (int i = 0; i < 5; i++)
- {
- int rNum= r.Next(0, 10);
- str += rNum;
- }
-
- string[] fonts ={"华文行楷","微软雅黑","楷体","仿宋","宋体"};
- Color[] colors = { Color.Red,Color.RosyBrown,Color.DarkOrange,Color.SteelBlue,Color.DarkTurquoise};
-
- //随机字体
- InstalledFontCollection fc = new InstalledFontCollection();
- FontFamily[] fs = fc.Families;
-
- for (int i = 0; i < 5; i++)
- {
- Point p = new Point(i * 20, 0);
- g.DrawString(str[i].ToString(), new Font(fs[r.Next(0,fs.Length)],20,FontStyle.Bold), new SolidBrush(colors[i]), p);
- }
-
- //画50条线
- for (int i = 0; i < 40; 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(new Pen(Color.LightGray),p1, p2);
- }
-
- //画50个点
- for (int i = 0; i < 50; i++)
- {
- Point p = new Point(r.Next(0, bmp.Height), r.Next(0, bmp.Width));
- bmp.SetPixel( p.Y,p.X, Color.Gray);
- }
-
- pbCaptcha.Image = bmp;
- }
- }
- }
效果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。