/// <summary> /// Method to generate captcha. /// </summary> public void MakeCaptcha() { string[] fontNames = new string[] { "Comic Sans MS", "Arial", "Times New Roman", "Georgia", "Verdana", "Geneva" }; FontStyle[] fontStyles = new FontStyle[] { FontStyle.Bold, FontStyle.Italic, FontStyle.Regular, }; txt.Clear(); fonts.Clear(); brushes.Clear(); lines.Clear(); Random rand = new Random(); int rnd; // chars [48 - 122] for (int i = 0; i < 8; ++i) { rnd = rand.Next(48, 122); if ((rnd >= 91 && rnd <= 96) || (rnd >= 58 && rnd <= 64)) { --i; continue; } this.txt.Append((char)rnd); this.fonts.Add(new Font(fontNames[rand.Next(fontNames.Count())], (float)rand.Next(20, 25), fontStyles[rand.Next(fontStyles.Count())])); this.brushes.Add(new SolidBrush(Color.FromArgb(rand.Next(0, 255), rand.Next(0, 255), rand.Next(0, 255)))); } Line toPush; for (int i = 0; i < 10; ++i) { toPush = new Line(); toPush.Cl = Color.FromArgb(rand.Next(0, 255), rand.Next(0, 255), rand.Next(0, 255)); toPush.X = new Point(rand.Next(pnl.Width), rand.Next(pnl.Height)); toPush.Y = new Point(rand.Next(pnl.Width), rand.Next(pnl.Height)); lines.Add(toPush); } }