using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Runtime.InteropServices;
using System.Drawing;
using System.Drawing.Text;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Text;
public partial class yanzhen : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string checkCode = GetRandCode(5);
Session["CheckCode"] = checkCode;
DrawImage(checkCode);
}
private string GetRandCode(int num)
{
string[] code = new string[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" };
string vNum = "";
Random ran = new Random();
int iNum = 0;
for (int i = 1; i <= num; i++)
{
//while((iNum = Convert.ToInt32(code.Length*ran.NextDouble())) == code.Length)
//{
// iNum = Convert.ToInt32(code.Length*ran.NextDouble());
//}
iNum = ran.Next(0, code.Length);//哈哈 这句效率更高
vNum += code[iNum];
}
return vNum;
}
private void DrawImage(string code)
{
Bitmap bp = new Bitmap(70, 25);
Graphics ga = Graphics.FromImage(bp);
///设置画笔的输出模式
ga.SmoothingMode = SmoothingMode.HighSpeed;
Rectangle rc = new Rectangle(0, 0, 70, 25);//定义一个矩形
ga.FillRectangle(new SolidBrush(Color.White), rc);//填充矩形
ga.DrawString(code, new Font("宋体", 16), new SolidBrush(Color.Red), rc);//在矩形内画出字符串
Response.ContentType = "image/jpeg";
//保存数据流
bp.Save(Response.OutputStream, ImageFormat.Jpeg);
bp.Dispose();
ga.Dispose();
}
}
調用方法: Image1.ImageUrl = "yanzhen.aspx";
TBCheckCode.Text != Session["CheckCode"].ToString()
4159

被折叠的 条评论
为什么被折叠?



