C#圖片驗證碼繪製

來源:互聯網
上載者:User

標籤:abc   count   字元   graph   mat   class   win   關於   刪除   

製作驗證碼.也可以畫弧線之類.....

//建立一個網站,在後台代碼中引用一個using Stystem.Drawing的命名空間        Bitmap img = new Bitmap(100, 50); //製作一個寬100,高50的畫板        Graphics g = Graphics.FromImage(img); //畫出背景圖        List<Color> clist = new List<Color>();//製作一個新的顏色集合        clist.Add(Color.Red);//製作一個個的顏色內容        clist.Add(Color.Yellow);        clist.Add(Color.Blue);        clist.Add(Color.Green);        clist.Add(Color.Aqua);        clist.Add(Color.Orange);        clist.Add(Color.Pink);        //驗證碼內容        Random r = new Random();// 創作一個隨機數        string ss = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; //寫下所有關於驗證碼的數字跟字母        string s = ""; //寫一個空的字串        //防止字顏色與背景顏色重複        Color bkcolor = clist[r.Next(0, clist.Count)];//挑選一個隨機的顏色        clist.Remove(bkcolor);//刪除掉這個顏色        g.FillRectangle(new SolidBrush(bkcolor), 0, 0, 100, 50); //設定背景顏色        for (int i = 0; i < 4; i++)        {            s += ss[r.Next(0, ss.Length)]; //用for迴圈從ss中挑選4個驗證碼隨機數        }        Font f = new Font("微軟雅黑", 20); //設定字型大小        Brush b = new SolidBrush(clist[r.Next(0, clist.Count)]); //用上面寫的隨機顏色定義一個字型顏色        g.DrawString(s, f, b, 5, 5); //畫出驗證碼        Session["YZM"] = s; //設定一個全域驗證碼.用來驗證是否正確        for (var i = 0; i < 5; i++)        {            Pen pp = new Pen(new SolidBrush(clist[r.Next(0, clist.Count)]), r.Next(1, 3)); //設定一個隨機顏色的畫筆            Point p1 = new Point(r.Next(0, 100), r.Next(0, 50)); //設定幹擾線條的長短            Point p2 = new Point(r.Next(0, 100), r.Next(0, 50)); //設定第二個幹擾線條的長短            g.DrawLine(pp, p1, p2); //畫線        }        img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); //畫出這一張驗證碼

 

C#圖片驗證碼繪製

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.