首先建立一个windows应用窗体程序

在winform窗体上添加一个button控件和picturebox控件

下面就是代码的写入

 

我们所看到的上面的验证码的每当你点击验证码的时候它就会刷新新的验证码出来

当然我们这里是点击button的时候刷新新的验证码

pictureBox是用来显示验证码的

button中的代码如下

1  .首先是将验证码中的数字添加到一个字符串当中

2  .其次显示在picturebox这个 控件上面

private void button1_Click(object sender, EventArgs e)
        {

            Random r = new Random();        //首先建立一个随机选取数字
            string str = null;                             //建立一个空的字符串来储存验证码
            for(int i=0;i<5;i++)                         //通过一个for循环来讲数字增加到字符串当中
            {
                int number = r.Next(0, 10);
                str += number;
            }
            //MessageBox.Show(str);
            Bitmap bmp = new Bitmap(120, 20);//建立显示验证码的宽高的范围
            Graphics g = Graphics.FromImage(bmp);           
            for (int i = 0; i < 5; i++)
            {
                Point p = new Point(i*10,0);
                string[] font1 = { "微雅软黑", "宋体", "黑体","仿宋","华文彩云" };
                Color[] color1 = { Color.Red, Color.Black, Color.Yellow, Color.Purple, Color.Pink};
                g.DrawString(str[i].ToString(),new Font (font1 [r.Next (0,5)],20 ,FontStyle.Bold),new SolidBrush (color1[r.Next(0,5)]),p);//将验证码画出来并随机的选取颜色字体跟位置(位置point在上面确定了高  妹每个验证码相隔i*10个像素)
            }

//下面是在验证码的图像上面添加线条
            for(int i=0;i<15;i++)
            {
                Point p = new Point(r.Next(0, bmp.Width), r.Next(0, bmp.Height));//线条添加的两点的确定
                Point p1 = new Point(r.Next(0, bmp.Width), r.Next(0, bmp.Height));
                g.DrawLine(new Pen(Brushes.Green), p, p1);
            }
            pictureBox1.Image = bmp;   //将图像显示到picturebox上面
        }

下面是做好的展示

 

posted on 2017-12-19 09:40  李建强22  阅读(113)  评论(0编辑  收藏  举报