ASP.NET下生产图片验证码

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

后台文件:

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;

12

13public partial class Default2 : System.Web.UI.Page

14{

15 protected void Page_Load(object sender, EventArgs e)

16 {

17 if(!this.IsPostBack)

18 {

19 this.GenImg(this.GenCode(4));

20 }

21

22 }

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 }

37

38 //生成图片

39 private void GenImg(string code)

40 {

41 Bitmap myPalette = new Bitmap(60, 20);//定义一个画板

42

43 Graphics gh = Graphics.FromImage(myPalette);//在画板上定义绘图的实例

44

45 Rectangle rc = new Rectangle(0, 0, 60, 20);//定义一个矩形

46

47 gh.FillRectangle(new SolidBrush(Color.Blue), rc);//填充矩形

48 gh.DrawString(code, new Font("宋体", 16), new SolidBrush(Color.White), rc);//在矩形内画出字符串

49

50 myPalette.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);//将图片显示出来

51

52 Session["ValidateCode"] = code;//将字符串保存到Session中,以便需要时进行验证

53

54 gh.Dispose();

55 myPalette.Dispose();

56 }

57

58}

HTML文件:

加入一个HTML控件Image即可

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<img src="Default2.aspx" />

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航