• 大小: 55KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-12-04
  • 语言: C#
  • 标签: 随机变换  

资源简介

C#源码编制 实现点击随机变换验证码数字,随机每个数字的颜色与每个数字的字体。判定输入数字是否与验证码数字相等。

资源截图

代码片段和文件信息

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 画验证码
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //声明一个全局变量
        string str = ““;
        private void pictureBox1_Click(object sender EventArgs e)
        {
            //声明一个随机类随机
            yanzhengma();
            //MessageBox.Show(str);
        }

        private void yanzhengma()
        {
            Random r = new Random();
            str = ““;
            for (int i = 0; i < 4; i++)//随机4个数字存放到str内
            {
                int num = r.Next(0 10);//随机0-9数字
                str += num.ToString();//存放4个数字
            }
            Bitmap b = new Bitmap(100 50);//新建一个存储画图的框
            Graphics g = Graphics.FromImage(b);//新建一个绘图纸在框内画画
            pictureBox1.Image = b;//将画图的框画在picturebox中
            //声明一个颜色的数组
            Color[] colors = { Color.Red Color.Green Color.Yellow Color.Black Color.Bisque Color.Blue Color.Brown Color.Cyan Color.DarkOrchid };
            //声明一个系统字体的类型
            InstalledFontCollection fc = new InstalledFontCollection();
            //将系统类型的字体存储到fs内。
            FontFamily[] fs = fc.Families;
            for (int i = 0; i < 4; i++)//为每个str的字符复制不同的属性
            {
                Point p = new Point(i * 25 10);//定义每个字体出现的坐标
                //复制每个字符的不同属性
                g.DrawString(str[i].ToString() new Font(fs[r.Next(0 fs.Length)] 20 Fontstyle.Bold) new SolidBrush(colors[r.Next(0 9)]) p);
            }

            for (int i = 0; i < 30; i++)//声明一个画线画点的随机值
            {
                Point p1 = new Point(r.Next(0 b.Width) r.Next(0 b.Height));//第一个点的坐标
                Point p2 = new Point(r.Next(0 b.Width) r.Next(0 b.Height));//第二个点的坐标
                //画出的每个线的颜色和随机的长度
                g.DrawLine(new Pen(Color.Pink) p1 p2);
                //画出的每个点的像素点的位置颜色
                b.SetPixel(p1.X p2.Y colors[r.Next(0 9)]);
            }
        }

        private void button1_Click(object sender EventArgs e)
        {
            if (textBox1.Text ==str)//判断输入的数字是否等于验证码数字
            {
                label1.Text = “恭喜您,登陆成功!“;//如果等于提示
            }
            else
            {
                label1.Text = “对不起,登陆失败!“;//如果不等于提示
            }
        }

        private void Form1_Load(object sender EventArgs e)
        {
            yanzhengma();
        }
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-01-28 14:34  画验证码\
     目录           0  2019-01-28 15:55  画验证码\画验证码\
     文件         187  2019-01-28 14:34  画验证码\画验证码\App.config
     文件        3986  2019-01-28 15:51  画验证码\画验证码\Form1.Designer.cs
     文件        3179  2019-01-28 15:55  画验证码\画验证码\Form1.cs
     文件        5817  2019-01-28 15:51  画验证码\画验证码\Form1.resx
     文件         524  2019-01-28 14:34  画验证码\画验证码\Program.cs
     目录           0  2019-01-28 14:34  画验证码\画验证码\Properties\
     文件        1348  2019-01-28 14:34  画验证码\画验证码\Properties\AssemblyInfo.cs
     文件        2876  2019-01-28 14:34  画验证码\画验证码\Properties\Resources.Designer.cs
     文件        5612  2019-01-28 14:34  画验证码\画验证码\Properties\Resources.resx
     文件        1099  2019-01-28 14:34  画验证码\画验证码\Properties\Settings.Designer.cs
     文件         249  2019-01-28 14:34  画验证码\画验证码\Properties\Settings.settings
     目录           0  2019-01-28 14:34  画验证码\画验证码\bin\
     目录           0  2019-01-28 14:56  画验证码\画验证码\bin\Debug\
     文件       10752  2019-01-28 15:56  画验证码\画验证码\bin\Debug\画验证码.exe
     文件         187  2019-01-28 14:34  画验证码\画验证码\bin\Debug\画验证码.exe.config
     文件       26112  2019-01-28 15:56  画验证码\画验证码\bin\Debug\画验证码.pdb
     文件       24224  2019-01-28 15:56  画验证码\画验证码\bin\Debug\画验证码.vshost.exe
     文件         187  2019-01-28 14:34  画验证码\画验证码\bin\Debug\画验证码.vshost.exe.config
     文件         490  2017-09-29 21:43  画验证码\画验证码\bin\Debug\画验证码.vshost.exe.manifest
     目录           0  2019-01-28 14:34  画验证码\画验证码\obj\
     目录           0  2019-01-28 15:56  画验证码\画验证码\obj\Debug\
     文件        6979  2019-01-28 14:34  画验证码\画验证码\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
     目录           0  2019-01-28 16:05  画验证码\画验证码\obj\Debug\TempPE\
     文件           0  2019-01-28 14:34  画验证码\画验证码\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
     文件           0  2019-01-28 14:34  画验证码\画验证码\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
     文件           0  2019-01-28 14:34  画验证码\画验证码\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
     文件         180  2019-01-28 15:51  画验证码\画验证码\obj\Debug\画验证码.Form1.resources
     文件         180  2019-01-28 14:45  画验证码\画验证码\obj\Debug\画验证码.Properties.Resources.resources
     文件         753  2019-01-28 15:56  画验证码\画验证码\obj\Debug\画验证码.csproj.FileListAbsolute.txt
............此处省略7个文件信息

评论

共有 条评论

相关资源