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

来源:网络整理 责任编辑:栏目编辑 发表时间:2013-07-01 09:26 点击:

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
 }

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • 用C#制作屏幕捕获程序
    • .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上
    • 遍历ArrayList易犯错误
    • C#对XML操作:一个处理XML文件的类(1)
    • .NET简谈反射(动态调用)
    • 使用C#编写LED样式时钟控件
    • DataList嵌套问题 如何删除内层子DataList的记录
    • 怎样用C#实现完整文档打印功能
    • .NET简谈自定义事务资源管理器
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1