请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
一个小小的练习/卑微.jpg
public partial class Form1 : Form
{
string Code = "";
public Form1()
{
InitializeComponent();
}
private void ShowCode_Click(object sender, EventArgs e)
{
Bitmap bitmap = new Bitmap(351, 183);
Graphics g = Graphics.FromImage(bitmap);
Random r = new Random();
string code = "";
string allCode =
"0123456789"
"bcdefghijklmnopqrstuvwxyz"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String[] fonts =
{
"Broadway",
"微软雅黑",
"Century",
"黑体",
"Arial"
};
Color[] colors =
{
Color.Red,
Color.Black,
Color.Blue,
Color.Green,
Color.Pink,
Color.Purple
};
//默认验证码长度为6
for (int i = 0; i < 6; i )
{
code = allCode[r.Next(0, allCode.Length)];
}
Code = code;
//遍历绘制单个字符
for (int i = 0; i < 6; i )
{
//字体大小在(15, 24)之间
Font font = new Font(fonts[r.Next(0, fonts.Length)], 50f r.Next(-5, 5), FontStyle.Bold);
SolidBrush brush = new SolidBrush(colors[r.Next(0, colors.Length)]);
g.DrawString(code[i].ToString(), font, brush, i * 40, 20);
}
//绘制线条
for (int i = 0; i < 50; i )
{
g.DrawLine(Pens.Green, r.Next(0, bitmap.Width), r.Next(0, bitmap.Height), r.Next(0, bitmap.Width), r.Next(0, bitmap.Height));
}
//绘制点
for (int i = 0; i < 500; i )
{
bitmap.SetPixel(r.Next(0, bitmap.Width), r.Next(0, bitmap.Height), colors[r.Next(0, colors.Length)]);
}
ShowCode.Image = bitmap;
}
private void Form1_Load(object sender, EventArgs e)
{
ShowCode_Click(sender, e);
}
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
if (textBox1.Text == Code)
{
MessageBox.Show("验证码正确", "提示", MessageBoxButtons.OK);
textBox1.Text = "";
}
else
{
MessageBox.Show("验证码错误,请重试", "提示", MessageBoxButtons.OK);
textBox1.Text = "";
ShowCode_Click(sender, e);
}
}
}
}