黑马程序员-ASP.NET图片验证码代码

本文介绍如何使用 ASP.NET 和 C# 生成带有随机字符和噪点的验证码图片,包括创建图片、绘制边框、生成随机字符及字体颜色、添加旋转效果和随机噪点等步骤。

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

----------ASP.NET+Unity 培训  期待与你交流----------



一、新建空网站


二、添加相关命名空间


三、写代码

Bitmap bmp = new Bitmap(80,40);
        Graphics g = Graphics.FromImage(bmp);
        g.Clear(Color.White );
        g.DrawRectangle(Pens.Black ,0,0,79,39);//绘制边框
        Color[] colors ={ Color.Black, Color.Red, Color.Blue, Color.DarkGreen, Color.DarkGoldenrod, Color.Chocolate };
        string[] fontNames ={ "宋体", "楷体_GB2312", "隶书", "Arial", "ComicSans MS", "Microsoft Sans Serif", "Times New Roman" };
        Random rand = new Random();
        char[] chs = new char[] { (char)(65 + rand.Next(26)), (char)(65 + rand.Next(26)), (char)(65 + rand.Next(26)) };//随机生成验证字符
        Brush brush;
        Font font;
        int x, y;
        for (int i = 0; i < 3; i++)
        {
            brush = new SolidBrush(colors[rand.Next(6)]);
            font=new Font(fontNames [rand.Next (7)],18,FontStyle.Bold );
            x = i * 20 + 2;
            y = 5 + rand.Next(5);
            g.RotateTransform (rand.Next (-10,9));
            g.DrawString(chs[i].ToString (),font ,brush ,x,y);


        }
        Pen [] pens={Pens.Gray ,Pens .LightGray};
        for(int i=0;i<200;i++)//绘制随机噪点
        {
          x=rand.Next (bmp .Width -1);
            y=rand.Next (bmp.Height-1);
            g.DrawEllipse (pens [1%2],x,y,1,1);


        }
        MemoryStream ms=new MemoryStream();
        bmp.Save (ms,ImageFormat.Jpeg);
        this .Response .Clear ();
        this .Response .ContentType="image/Hpeg";
        this .Response .BinaryWrite (ms.ToArray());//输出图像
        g.Dispose ();
        bmp .Dispose ();


                   ----------ASP.NET+Unity 培训  期待与你交流----------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值