c#建立验证码图片

private string strVaildateCode;

         public string GetRandomNumberString(int Number)
         {
             string strNumber = string.Empty;
             Random theRandomNumber = new Random();
             for (int i = 0; i < Number; i++)
             {
                 strNumber += theRandomNumber.Next(10).ToString();
             }
             return strNumber;
         }

         private void CreateCheckCodeImage(string checkCode)
         {
             if (checkCode == null || checkCode.Trim() == String.Empty)
             {
                 return;
             }

             int int_ImageWidth = strVaildateCode.Length * 13 * 2;
             Bitmap image = new Bitmap(int_ImageWidth, 20 * 2);
             Graphics g = Graphics.FromImage(image);

             try
             {
                 Random random = new Random();
                 g.Clear(Color.White);

                 for (int i = 0; i < 25; i++)
                 {
                     int x1 = random.Next(image.Width);
                     int x2 = random.Next(image.Width);
                     int y1 = random.Next(image.Height);
                     int y2 = random.Next(image.Height);
                     g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
                 }

                 Font font = new Font("Arial", 12 * 2, FontStyle.Bold | FontStyle.Italic);
                 LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0,
                     image.Width, image.Height), Color.Blue, Color.Red, LinearGradientMode.Horizontal);

                 g.DrawString(strVaildateCode, font, brush, 2, 2);

                 for (int i = 0; i < 1000; i++)
                 {
                     int x = random.Next(image.Width);
                     int y = random.Next(image.Height);
                     image.SetPixel(x, y, Color.FromArgb(random.Next(255), random.Next(255), random.Next(255)));
                 }

                     g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);
                 this.pictureBox1.Width = image.Width;
                 this.pictureBox1.Height = image.Height;
                 this.pictureBox1.Image = image;

             }
             catch (Exception err)
             {
                 MessageBox.Show(err.Message);
                 g.Dispose();
             }
         }

         private void Form1_Load(object sender, EventArgs e)
         {
             strVaildateCode = GetRandomNumberString(4);
             CreateCheckCodeImage(strVaildateCode);
         }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值