Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)delvpublished in(发表于) 2014/1/6 9:02:15 ASP.NET下生产图片验证码_[Asp.Net教程]
后台文件:
1using System; 2using System.Data; 3using System.Configuration; 4using System.Collections; 5using System.Drawing; 6using System.Web; 7using System.Web.Security; 8using System.Web.UI; 9using System.Web.UI.WebControls;10using System.Web.UI.WebControls.WebParts;11using System.Web.UI.HtmlControls;1213public partial class Default2 : System.Web.UI.Page14{15 protected void Page_Load(object sender, EventArgs e)16 {17 if(!this.IsPostBack)18 {19 this.GenImg(this.GenCode(4));20 }2122 }23 //产生随机字符串24 private string GenCode(int num)25 {26 string[] source={"0","1","2","3","4","5","6","7","8","9",27 "A","B","C","D","E","F","G","H","I","J","K","L","M","N",28 "O","P","Q","R","S","T","U","V","W","X","Y","Z"};29 string code="";30 Random rd=new Random();31 for(int i=0;i < num;i++)32 {33 code += source[rd.Next(0,source.Length)];34 }35 return code;36 }3738 //生成图片39 private void GenImg(string code)40 {41 Bitmap myPalette = new Bitmap(60, 20);//定义一个画板4243 Graphics gh = Graphics.FromImage(myPalette);//在画板上定义绘图的实例4445 Rectangle rc = new Rectangle(0, 0, 60, 20);//定义一个矩形4647 gh.FillRectangle(new SolidBrush(Color.Blue), rc);//填充矩形48 gh.DrawString(code, new Font("宋体", 16), new SolidBrush(Color.White), rc);//在矩形内画出字符串4950 myPalette.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);//将图片显示出来5152 Session["ValidateCode"] = code;//将字符串保存到Session中,以便需要时进行验证5354 gh.Dispose();55 myPalette.Dispose();56 }5758}
HTML文件:
加入一个HTML控件Image即可
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
来源:网络
赞