您的位置:首页 > 其它

验证码

2016-02-20 11:04 337 查看
<%@ WebHandler Language="C#" Class="show" %>

using System;
using System.Web;
using System.Drawing;
using System.Web.SessionState;//IRequiresSessionState的命名空间

public class show : IHttpHandler, IRequiresSessionState
{

public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "image/jpeg";//要输出的类型

//写代码
//造一张图出来
Bitmap img = new Bitmap(50, 20);//造空白图
Graphics gr = Graphics.FromImage(img);//往哪个图上去绘制
Font font = new Font("宋体", 12, FontStyle.Bold);//设置字体
SolidBrush brush = new SolidBrush(Color.White);//设置刷子
gr.FillRectangle(brush, 0, 0, 50, 20);//刷子绘制的形状
brush.Color = Color.Red;//颜色

//往图上画文字,先生成四位验证码
string s = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
string str = "";
Random rand = new Random();//初始化随机数
int[] arr = new int[4];
for (int i = 0; i < 4; i++)
{
arr[i] = rand.Next(62);
int count = 0;
if (i > 0)
{
for (int j = 0; j < i; j++)
{
if (arr[i] == arr[j])
{
count++;
}
}
}

if (count > 0)
{
i--;
continue;
}
str += s.Substring(arr[i], 1).ToString();
}

context.Session["yanzheng"] = str;//存到session

gr.DrawString(str, font, brush, 0, 0);//画内容

img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}

public bool IsReusable {
get {
return false;
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: