zoukankan      html  css  js  c++  java
  • 如何利用GDI图像来制作验证码(在winform上面制作的当然也可以在web上面制作)

    首先建立一个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上面
            }

    下面是做好的展示

  • 相关阅读:
    XP系统下快速切换ip的bat脚本配置
    Spring学习札记
    hibernate防止sql注入
    重载,继承,重写和多态的区别:
    Oracle Sql基础
    Android开发——利用Cursor+CursorAdapter实现界面实时更新
    Android开发——09Google I/O之让Android UI性能更高效(1)
    Android开发——MediaProvider源码分析(2)
    Android开发——Android搜索框架(二)
    [转]activity的启动方式(launch mode)
  • 原文地址:https://www.cnblogs.com/Ljq12333/p/8063949.html
Copyright © 2011-2022 走看看