標籤:
步驟:1.通過Random產生隨機數或字元及驗證碼2.通過驗證碼內容長度產生指定大小的圖片3.擷取產生圖片的Graphics對象4.定義驗證碼字型格式5.通過指定字型將驗證碼繪製到圖片6.向圖片上添加背景雜音線7.添加前景噪音點
1 private void pictureBox1_Click(object sender, EventArgs e) 2 { 3 Random r = new Random(); 4 string str = null; 5 for (int i = 0; i < 5; i++) 6 { 7 int rNumber = r.Next(0, 10); 8 str += rNumber; 9 }10 //MessageBox.Show(str);11 //建立GDI對象12 Bitmap bmp=new Bitmap(120,50);13 Graphics g = Graphics.FromImage(bmp);14 15 for (int i = 0; i < 5; i++)16 {17 Point p=new Point(i*20,0);18 string [] fonts={"微軟雅黑","宋體","黑體","隸書","仿宋"};19 Color [] colors={Color.Yellow,Color.Blue,Color.Black,Color.Red,Color.Green};20 g.DrawString(str[i].ToString(),new Font(fonts[r.Next(0,4)],20,FontStyle.Bold),new SolidBrush(colors[r.Next(0,5)]),p);21 }22 //繪製線條,線條不能超出驗證碼的範圍23 for (int i = 0; i < 30; i++)24 {25 Point p1=new Point(r.Next(0,bmp.Width),r.Next(0,bmp.Height));26 Point p2=new Point(r.Next(0,bmp.Width),r.Next(0,bmp.Height));27 g.DrawLine(new Pen(Brushes.Green), p1, p2);28 }29 30 for (int i = 0; i < 1000; i++)31 {32 Point p=new Point(r.Next(0,bmp.Width),r.Next(0,bmp.Height));33 bmp.SetPixel(p.X, p.Y, Color.Black);34 }35 //將圖片鑲嵌到PictureBox中36 pictureBox1.Image = bmp;37 38 }View Code
C# GDI繪製驗證碼