.Net实现将验证码写入图片

本文介绍了一个简单的ASP.NET应用程序组件,用于生成包含随机数字的验证码图片。该组件通过设置字体、颜色等参数来定制图像样式,并利用Session存储生成的验证码数字以供后续验证。

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

RandomNumImg.aspx文件的主要部分

using System.Drawing.Imaging;

private void ShowImg()
        {
            Random ran = new Random();
            int intRandom = ran.Next(10001,99999);
            //将随机数(验证字串)写入Session
            Session.RemoveAll();
            Session["RandCode"] = intRandom;
            //字体名
            string strFontName = "Arial";
            //字体大小
            int intFontSize = 9;
            //图像宽
            int intWidth = 40;
            //图像长
            int intHeight = 14;
            //背景颜色
            Color bgColor = ColorTranslator.FromHtml("#"+Request.QueryString["colorb"]);
            //前景颜色
            Color foreColor = ColorTranslator.FromHtml("#"+Request.QueryString["colorf"]);
            //产生字体
            Font forFont = new Font(strFontName,intFontSize,FontStyle.Bold);
            //生成图片
            Bitmap newBitmap = new Bitmap(intWidth,intHeight,PixelFormat.Format32bppArgb);
            Graphics g = Graphics.FromImage(newBitmap);
            //定义一个四方形框与字片一样大小
            Rectangle newRect = new Rectangle(0,0,intWidth,intHeight);
            //涂上背景色
            g.FillRectangle(new SolidBrush(bgColor),newRect);
            //写字
            g.DrawString(intRandom.ToString(),forFont,new SolidBrush(foreColor),2,2);
            MemoryStream mStream = new MemoryStream();
            //存入MemoryStream
            newBitmap.Save(mStream,ImageFormat.Gif);
            g.Dispose();
            newBitmap.Dispose();
            //发送
            Response.ClearContent();
            Response.ContentType = "image/GIF";
            Response.BinaryWrite(mStream.ToArray());
            Response.End();
        }

这样使用:RandomNumImg.aspx?colorf=FF0000&colorb=EFF3FF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值