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

生成PNG验证码
本文介绍了一种使用C#生成带有文本的PNG格式验证码的方法。通过获取HTTP请求中的密钥参数,并将其绘制到一张预设的图片上,最终返回给客户端。涉及图片处理、字体设置及异常处理等关键步骤。
导读:
  using System;
  using System.Web;
  using System.Drawing ;
  /// <summary><br>  /// Png 的摘要说明。 <br>  public sealed class LocalPng:IHttpHandler <br>  { <br>  #region IHttpHandler 成员 <br>   <br>  public void ProcessRequest(HttpContext context) <br>  { <br>  if(context.Request["key"]!=null&amp;&amp;context.Request["key"].Length ==4)//还有ACSSI码是1-9的数字和a-z的字母 <br>  { <br>  string machine_key=context.Request["key"]; <br>  context.Response.Clear(); <br>  try <br>  { //原图 <br>  Bitmap sImage = new Bitmap(context.Server.MapPath("key.png.bmp")); //图片路径 <br>  //验证码图 <br>  Graphics wg = Graphics.FromImage(sImage); <br>  wg.DrawString(machine_key,new Font("Comic Sans MS",14),new SolidBrush(Color.RoyalBlue),3,0); <br>  wg.Save(); <br>  context.Response.ContentType = "image/Jpeg"; <br>  sImage.Save(context.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg); <br>  wg.Dispose(); <br>  sImage.Dispose(); <br>  } <br>  catch(Exception e) <br>  {context.Response.Write(e.Message); <br>  } <br>  context.Response.End(); <br>   <br>  } <br>  } <br>  public bool IsReusable <br>  { <br>  get <br>  { <br>  // TODO: 添加 CodeKey.IsReusable getter 实现 <br>  return false; <br>  } <br>  } <br><br>本文转自 <br><a href="http://study.qqcf.com/web/224/24038.htm">http://study.qqcf.com/web/224/24038.htm</a></summary>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值