学院首页>网络编程>ASP.NET>c#高性能在WEB端产生验证图片

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

作者: 来源: 添加时间:2006-5-21 19:34:21
 

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
 }

站内搜索