生成驗證碼程式程式碼
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
private void Page_Load(object sender, System.EventArgs e)
{
this.CreateCheckCodeImage(GenerateCheckCode());
}
#region Web 窗體設計器生成的程式碼
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 該呼叫是 ASP.NET Web 窗體設計器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
///
/// 設計器支援所需的方法 - 不要使用程式碼編輯器修改
/// 此方法的內容。
///
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private string GenerateCheckCode()
{
int number;
char code;
string checkCode = String.Empty;
System.Random random = new Random();
for(int i=0; i<5; i++)
{
number = random.Next();
if(number % 2 == 0)
code = (char)('0' + (char)(number % 10));
else
code = (char)('A' + (char)(number % 26));
checkCode += code.ToString();
}
Session["Code"] = checkCode;
// Response.Cookies.Add(new HttpCookie("CheckCode", checkCode));
return checkCode;
}
private void CreateCheckCodeImage(string checkCode)
{
if(checkCode == null || checkCode.Trim() == String.Empty)
return;
System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 22);
Graphics g = Graphics.FromImage(image);
try
{
//生成隨機生成器
Random random = new Random();
//清空圖片背景色
g.Clear(Color.White);
//畫圖片的背景噪音線
for(int i=0; i<25; 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);
g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
}
Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic));
System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);
g.DrawString(checkCode, font, brush, 2, 2);
//畫圖片的前景噪音點
for(int i=0; i<100; i++)
{
int x = random.Next(image.Width);
int y = random.Next(image.Height);
image.SetPixel(x, y, Color.FromArgb(random.Next()));
}
//畫圖片的邊框線
g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent();
Response.ContentType = "image/Gif";
Response.BinaryWrite(ms.ToArray());
}
finally
{
g.Dispose();
image.Dispose();
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-662715/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 驗證碼程式
- 精確驗證身份證號碼程式碼
- javascript實現的生成驗證碼隨機數程式碼例項JavaScript隨機
- 登入驗證碼生成kaptcha(輸入驗證碼)APT
- JavaScript驗證碼生成和驗證效果JavaScript
- jquery 驗證碼效果程式碼例項jQuery
- 使用JCaptcha生成驗證碼APT
- 驗證手機號碼程式碼簡單程式碼例項
- 郵箱格式驗證程式碼
- 《程式碼大全》程式碼生成
- javascript實現的身份證號碼驗證程式碼JavaScript
- 用ASP動態生成JavaScript的表單驗證程式碼 (轉)JavaScript
- Java製作驗證碼的完整程式碼Java
- jQuery加法驗證碼效果程式碼例項jQuery
- Flutter 生成圖形驗證碼Flutter
- golang 生成圖片驗證碼Golang
- Python快速生成驗證碼Python
- iOS 生成本地驗證碼iOS
- volatile的特性程式碼驗證
- jQuery郵箱格式驗證程式碼jQuery
- javascript實現的驗證碼程式碼例項JavaScript
- QQ號碼驗證正規表示式程式碼
- java隨機動態生成漢字驗證碼圖片的例項程式碼分享Java隨機
- 隨機生成四個驗證碼隨機
- 關於用java生成驗證碼Java
- .Net WebAPI 生成圖形驗證碼WebAPI
- 應用:隨機生成驗證碼隨機
- Ext實現的身份證格式驗證程式碼
- JavaScript 表單驗證程式碼例項JavaScript
- 郵箱格式驗證程式碼例項
- 郵箱格式驗證程式碼詳解
- 常用的表單驗證程式碼分享
- 【蛤蟆】頁面驗證碼程式(C#)C#
- NT域驗證功能VB典型程式碼
- canvas實現的驗證碼效果程式碼例項Canvas
- 驗證手機號碼格式的程式碼例項
- javascript實現的身份證號碼合法性驗證程式碼JavaScript
- 精確驗證身份證號碼合法性程式碼例項