• 如何写一个验证码


    后台代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Drawing;
    using System.IO;
    using System.Text;

    namespace 验证码
    {
        public partial class pic : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                System.Drawing.Image img = new Bitmap(150, 50);

                Graphics g = Graphics.FromImage(img);
                this.AddPoint(img, 100);
                string code = this.GeneralCode();
                Font font1=new Font("宋体",30,FontStyle.Italic);
                g.DrawString(code, font1, Brushes.Red, 0, 0);
                this.Response.Clear();
                MemoryStream ms = new MemoryStream();//创建一个缓存流
                img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);//将此图像以指定的格式保存到指定的流中
                this.Response.BinaryWrite(ms.ToArray());
                this.Response.Flush();//输出流
                this.Response.End();//关闭流

              
            }
            private void AddPoint(System.Drawing.Image img, int nums)//加噪点
            {
                Bitmap b = img as Bitmap;
                Random ran = new Random();
                for (int i = 0; i < nums; i++)
                {
                    b.SetPixel(ran.Next(0, img.Width), ran.Next(0, img.Height), Color.White);
                       
                }
            }
            //随即生成数字
            private string GeneralCode()
            {
                Random ran = new Random(DateTime.Now.Millisecond);
                StringBuilder sb = new StringBuilder(6);
                for (int i = 0; i < 6; i++)
                {
                    sb.Append(ran.Next(0, 9));

     
                }
                return sb.ToString();
            }
                
        }
    }

  • 相关阅读:
    用Asp获取Dll加密新闻内容
    Silverlight编译范围
    c++连接mssql
    委托理解
    NClass,终于找到了可以绘制类图的工具了!
    RIATasks: A Simple Silverlight CRUD Example (using View Model)
    PetaPoco使用
    匿名方法,Action,Func以及lambda的区别
    第一个c++
    System.Threading中Thread和Task区别
  • 原文地址:https://www.cnblogs.com/poiu/p/2834700.html
Copyright © 2020-2023  润新知