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

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
 }

你可能感兴趣的:(Web)