1.隨機產生字串
2.隨機設定字串的顯示
3.每隔一秒字串顯示變化
4點擊驗證碼,會產生新的驗碼
String str = "";//全域變數
Random r = new Random();//全域對象
private void pictureBox1_Click(object sender, EventArgs e)//點擊驗證碼,會產生新的驗碼
{
str = null;
for (int i = 0; i < 5; i++) {
int rn = r.Next(0, 10);
str += rn;
}
}
private void timer1_Tick(object sender, EventArgs e)//計時器當中去實現。
{
Bitmap bmp = new Bitmap(120, 120);
Graphics g = Graphics.FromImage(bmp);
for (int i = 0; i < 5; i++)
{
String[] fonts = { "微軟雅黑", "宋體", "黑體", "隸書", "仿宋" };//隨機設定字型的樣式
Point p = new Point(i * 15, 0);
Color[] colors = { Color.Red, Color.Pink, Color.Black, Color.Gray, Color.GreenYellow };//隨機設定字型的顏色
g.DrawString(str[i].ToString(), new Font(fonts[r.Next(0, 5)], 20, FontStyle.Bold), new SolidBrush(colors[r.Next(0, 5)]), p);//畫圖
}
for (int i = 0; i < 100;i++ )//畫出聲燥線
{
Point p1 = new Point(r.Next(0, bmp.Width), r.Next(0, bmp.Height));
Point p2 = new Point(r.Next(0, bmp.Width), r.Next(0, bmp.Height));
g.DrawLine(new Pen(Brushes.Green), p1, p2);
}
pictureBox1.Image = bmp;
}
private void Form1_Load(object sender, EventArgs e)//啟動計時器
{
timer1.Start();
for (int i = 0; i < 5; i++)
{
int rn = r.Next(0, 10);
str += rn;
}
}