baranbahari1320
جمعه 21 خرداد 1395, 00:28 صبح
با سلام و خسته نباشید من میخوام کد کپچا ایجاد کنم برای ایجاد خطوط روی متن نمونه کدی رو به صورت زیر نوشتم وقتی که در حالت اجرا روی دکمه کلیک می کنم فقط یک خط رسم میکنه ولی وقتی کد ها رو خط به خط trace می کنم خطوط مورد نظر رسم میشن لطفا راهنمایی بفرمایین که اشکال از کجای کدهاست.
با تشکر.
کد کپچا در کلاس کپچا
Bitmap bmp = new Bitmap(133,50,PixelFormat.Format24bppRgb);
public Image pic()
{
Random r1 = new Random();
int number = 0;
// Bitmap bmp = new Bitmap(133, 50, PixelFormat.Format24bppRgb);
number = r1.Next(1000, 10000);
Font f = new Font("TimeNewRomans", 25, FontStyle.Bold, GraphicsUnit.Pixel);
Graphics g = Graphics.FromImage(bmp);
g.DrawString(number.ToString(), f, Brushes.Coral, new Point(0, 0));
for (int i = 1; i <=8; i++)
{
// g.DrawLines(/*new Pen(green, 2)*/Pens.Pink, GetRandomPoints());
randomline(g);
}
return bmp;
}
public void randomline(Graphics g)
{
SolidBrush green = new SolidBrush(Color.Green);
g.DrawLines(new Pen(green, 2), GetRandomPoints());
}
public static Point[] GetRandomPoints()
{
Random r1=new Random();
Point[] points = { new Point(r1.Next(10,50),r1.Next(10,50)),new Point(r1.Next(40,100),r1.Next(40,100))};
return points;
}
کد فراخوانی کلاس نوشته شده روی رویداد کلیک دکمه
captcha c = new captcha();
pictureBox1.Image = c.pic();
با تشکر.
کد کپچا در کلاس کپچا
Bitmap bmp = new Bitmap(133,50,PixelFormat.Format24bppRgb);
public Image pic()
{
Random r1 = new Random();
int number = 0;
// Bitmap bmp = new Bitmap(133, 50, PixelFormat.Format24bppRgb);
number = r1.Next(1000, 10000);
Font f = new Font("TimeNewRomans", 25, FontStyle.Bold, GraphicsUnit.Pixel);
Graphics g = Graphics.FromImage(bmp);
g.DrawString(number.ToString(), f, Brushes.Coral, new Point(0, 0));
for (int i = 1; i <=8; i++)
{
// g.DrawLines(/*new Pen(green, 2)*/Pens.Pink, GetRandomPoints());
randomline(g);
}
return bmp;
}
public void randomline(Graphics g)
{
SolidBrush green = new SolidBrush(Color.Green);
g.DrawLines(new Pen(green, 2), GetRandomPoints());
}
public static Point[] GetRandomPoints()
{
Random r1=new Random();
Point[] points = { new Point(r1.Next(10,50),r1.Next(10,50)),new Point(r1.Next(40,100),r1.Next(40,100))};
return points;
}
کد فراخوانی کلاس نوشته شده روی رویداد کلیک دکمه
captcha c = new captcha();
pictureBox1.Image = c.pic();