资源简介
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个文件信息
评论
共有 条评论