首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 動態產生驗證碼圖片實作

     編輯:關於ASP.NET

利用 System.Drawing 在 Page_Load 動態繪製驗證碼圖片,回應 Content-Type: image/gif。

GraphicalText.aspx.cs

protected void Page_Load(object sender, EventArgs e) {
    using (Bitmap image = new Bitmap(30, 20)) {
        using (Graphics g = Graphics.FromImage(image)) {
            g.FillRectangle(Brushes.Yellow, 0, 0, 30, 20);
            g.DrawRectangle(Pens.Red, 0, 0, 29, 19);
            Font f = new Font("Arial", 9, FontStyle.Italic);
            string code = Request.QueryString["code"];
            g.DrawString(code, f, Brushes.Blue, 0, 0);
            Response.ContentType = "image/gif";
            image.Save(Response.OutputStream, ImageFormat.Gif);
        }
    }
}

必須設定 Response.ContentType 否則非 IE 瀏覽器無法顯示。

主頁面呼叫

protected void Page_Load(object sender, EventArgs e) {
    StringBuilder sb = new StringBuilder("~/GraphicalText.aspx?code=");
    Random r = new Random();
    for (int i = 0; i < 4; i++) sb.Append((char)r.Next(48, 58)); // 4 位數字
    Image1.ImageUrl = sb.ToString();
}

簡單易懂的 GDI+ 動態圖片驗證碼實作,適合教學與輕量級應用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved