httphandler生成验证图

本文介绍了一个使用 C# 在 ASP.NET 中生成验证码图片的方法。通过随机选择字母和绘制干扰线来创建验证码图像,并将其保存为 GIF 格式发送到客户端。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

using System;
using System.Web;
using System.Drawing;

public class image : IHttpHandler,System.Web.SessionState.IRequiresSessionState {
    
    
public void ProcessRequest (HttpContext context) {
        context.Response.ContentType 
= "text/gif";
        Bitmap b 
= new Bitmap(20060);
        Graphics g 
= Graphics.FromImage(b);
        g.FillRectangle(
new SolidBrush(Color.White), 0020060);
        Font font 
= new Font(FontFamily.GenericSansSerif, 48, FontStyle.Bold, GraphicsUnit.Pixel);
        Random r 
= new Random();
        
string letters = "ABCDEFGHIJKMNPQRSTUVWXYX";
        
string letter;
        System.Text.StringBuilder s 
= new System.Text.StringBuilder();
        
for (int x = 0; x < 5; x++)
        
{
            letter 
= letters.Substring(r.Next(0, letters.Length - 1), 1);
            s.Append(letter);
            g.DrawString(letter, font, 
new SolidBrush(Color.Black), x * 38, r.Next(015));
            
        }


        Pen linePen 
= new Pen(new SolidBrush(Color.Black), 2);
        
for (int x = 0; x < 6; x++)
        
{
            g.DrawLine(linePen, 
new Point(r.Next(0199), r.Next(059)), new Point(r.Next(0199), r.Next(059)));
        }

        b.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);
        context.Session[
"aaa"= s.ToString();
        context.Response.End();
    }


    
public bool IsReusable
    
{
        
get {
            
return false;
        }

    }

}
<img src="image.ashx" />

转载于:https://www.cnblogs.com/guodapeng/archive/2007/11/20/965005.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值