zoukankan      html  css  js  c++  java
  • Asp.net:生成验证码

    1 添加一般处理程序 ashx

    <%@ WebHandler Language="C#" Class="Handler" %>

    using System;
    using System.Drawing;
    using System.Drawing.Imaging;
    using System.Text;
    using System.Web;
    using System.Web.SessionState;

    public class Handler : IHttpHandler, IRequiresSessionState {

    public void ProcessRequest(HttpContext context) {
    context.Response.ContentType
    = "image/gif";
    //建立Bitmap对象,绘图
    Bitmap basemap = new Bitmap(200, 60);
    Graphics graph
    = Graphics.FromImage(basemap);
    graph.FillRectangle(
    new SolidBrush(Color.White), 0, 0, 200, 60);
    Font font
    = new Font(FontFamily.GenericSerif, 48, FontStyle.Bold, GraphicsUnit.Pixel);
    Random r
    = new Random();
    string letters = "ABCDEFGHIJKLMNPQRSTUVWXYZ";
    string letter;
    StringBuilder s
    = new StringBuilder();

    //添加随机的五个字母
    for (int x = 0; x < 5; x++) {
    letter
    = letters.Substring(r.Next(0, letters.Length - 1), 1);
    s.Append(letter);
    graph.DrawString(letter, font,
    new SolidBrush(Color.Black), x * 38, r.Next(0, 15));
    }

    //混淆背景
    Pen linePen = new Pen(new SolidBrush(Color.Black), 2);
    for (int x = 0; x < 6; x++)
    graph.DrawLine(linePen,
    new Point(r.Next(0, 199), r.Next(0, 59)), new Point(r.Next(0, 199), r.Next(0, 59)));

    //将图片保存到输出流中
    basemap.Save(context.Response.OutputStream, ImageFormat.Gif);
    context.Session[
    "CheckCode"] = s.ToString(); //如果没有实现IRequiresSessionState,则这里会出错,也无法生成图片
    context.Response.End();
    }

    public bool IsReusable {
    get { return true; }
    }
    }

    2 引用

    新建 imageCode.aspx 其中 html

    <img src="Handler.ashx" alt="图片验证码" />
  • 相关阅读:
    Infopath Notify 弹出提示信息
    window.showModalDialog 返回值
    【转】获得正文内容中的所有img标签的图片路径
    Json Datable Convert
    Sharepoint 列表 附件 小功能
    Surgey 权限更改
    SQL 触发器用于IP记录转换
    Caml语句 查询分配给当前用户及当前组
    jquery 1.3.2 auto referenced when new web application in VSTS2010(DEV10)
    TFS diff/merge configuration
  • 原文地址:https://www.cnblogs.com/zjwei55/p/2151251.html
Copyright © 2011-2022 走看看