技术文章 > c#高性能在WEB端产生验证图片

c#高性能在WEB端产生验证图片

2018-08-15 05:52

文档管理软件,文档管理系统,知识管理系统,档案管理系统的技术资料:

作者:skyroles的 Blog
“>
using System;
using System.Web;
using System.Drawing ;
/// <summary>
/// Png 的摘要说明。
public sealed class LocalPng:IHttpHandler
{
#region IHttpHandler 成员

public void ProcessRequest(HttpContext context)
{
if(context.Request[“key“]!=null&&context.Request[“key“].Length ==4)//还有ACSSI码是1-9的数字和a-z的字母
{
string machine_key=context.Request[“key“];
context.Response.Clear();
try
{ //原图
Bitmap sImage = new Bitmap(context.Server.MapPath(“key.png.bmp“)); //图片路径
//验证码图
Graphics wg = Graphics.FromImage(sImage);
wg.DrawString(machine_key,new Font(“Comic Sans MS“,14),new SolidBrush(Color.RoyalBlue),3,0);
wg.Save();
context.Response.ContentType = “image/Jpeg“;
sImage.Save(context.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
wg.Dispose();
sImage.Dispose();
}
catch(Exception e)
{context.Response.Write(e.Message);
}
context.Response.End();

}
}
public bool IsReusable
{
get
{
// TODO: 添加 CodeKey.IsReusable getter 实现
return false;
}
}
#endregion
}