解决方案 »

  1.   

    新建一张验证图。放在一个图片框中就好了。如果需要更换。每次生成一次就好 //绘制一张验证图
             private void SetRandomImage()
            {
                Random randomS = new Random();//产生一个随机数
                int a = randomS.Next(10000, 99999);//产生一个随机数
         
                checkCode = a.ToString();//赋值
                //建立一个位图文件 确立长宽
                Bitmap image = new Bitmap((int)Math.Ceiling((checkCode.Length * 10.5)), 19);
                Graphics g = Graphics.FromImage(image);//使用gui绘图绘制出这样图
                try
                {
                    //随即数字
                    Random random = new Random();
                    //清空图片背景色
                    g.Clear(Color.Wheat );
                    //画图片的背景干扰线。6条
                    for (int i = 0; i < 6; 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);
                        //根据这4个坐标绘制出一条线
                        g.DrawLine(new Pen(Color.Black), x1, y1, x2, y2);
                    }
                   //更改产生随机数的样式
                    Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold));
                    //把产生的随机数以字体的形式写入画面
                    g.DrawString(checkCode, font, new SolidBrush(Color.Purple ), 2, 2);
                    //画图片的前景干扰点
                    for (int i = 0; i < 150; i++)//150个
                    {
                        int x = random.Next(image.Width);//获得x坐标
                        int y = random.Next(image.Height);//获得Y坐标
                        //根据x和y坐标绘制一个点。然后绘制颜色。颜色为随即产生
                        image.SetPixel(x, y, Color.FromArgb(random.Next()));
                    }
                    //画图片的边框线
                    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 ex)
                {
                    throw ex;
                }
            }