分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

ASP.Net一般处理程序生成动态验证码

发布时间:2023-09-06 01:41责任编辑:傅花花关键词:验证码
using System;using System.Collections.Generic;using System.Drawing;using System.Drawing.Imaging;using System.Linq;using System.Web;namespace 动态验证码生成{ ???/// <summary> ???/// Handler1 的摘要说明 ???/// </summary> ???public class Handler1 : IHttpHandler ???{ ???????public void ProcessRequest(HttpContext context) ???????{ ???????????context.Response.ContentType = "image/jpeg"; ???????????????????????var bmp = GetVerCode(); ???????????bmp.Save(context.Response.OutputStream, ImageFormat.Jpeg); ???????????//context.Response.Write("Hello World"); ???????} ???????/// <summary> ???????/// 生成验证码 ???????/// </summary> ???????/// <returns></returns> ???????private static Bitmap GetVerCode() ???????{ ???????????Random r = new Random(); ???????????string str = null; ???????????for (int i = 0; i < 4; i++) ???????????{ ???????????????int rNumber = r.Next(0, 10); ???????????????str += rNumber; ???????????} ???????????//创建GDI对象 ???????????Bitmap bmp = new Bitmap(100, 40); ???????????Graphics g = Graphics.FromImage(bmp); ???????????for (int i = 0; i < 4; i++) ???????????{ ???????????????Point p = new Point(i * 20, 0); ???????????????string[] fonts = {"微软雅黑", "宋体", "黑体", "隶书"}; ???????????????Color[] colors = {Color.Yellow, Color.Blue, Color.Black, Color.Red, Color.Green}; ???????????????g.DrawString(str[i].ToString(), new Font(fonts[r.Next(0, 4)], 20, FontStyle.Bold), ???????????????????new SolidBrush(colors[r.Next(0, 4)]), p); ???????????} ???????????for (int i = 0; i < 20; i++) ???????????{ ???????????????Point p1 = new Point(r.Next(0, bmp.Width), r.Next(0, bmp.Height)); ???????????????Point p2 = new Point(r.Next(0, bmp.Width), r.Next(0, bmp.Height)); ???????????????g.DrawLine(new Pen(Brushes.Green), p1, p2); ???????????} ???????????for (int i = 0; i < 500; i++) ???????????{ ???????????????Point p = new Point(r.Next(0, bmp.Width), r.Next(0, bmp.Height)); ???????????????bmp.SetPixel(p.X, p.Y, Color.Black); ???????????} ???????????return bmp; ???????} ???????public bool IsReusable ???????{ ???????????get ???????????{ ???????????????return false; ???????????} ???????} ???}}

ASP.Net一般处理程序生成动态验证码

原文地址:https://www.cnblogs.com/lolitagis/p/8419546.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved