zoukankan      html  css  js  c++  java
  • 随机生成图片验证码(C#)

    代码

     

     


    ---ValidationCodeImg.aspx
    <%@ import namespace="System"%>
    <%@ import namespace="System.IO"%>
    <%@ import namespace="System.Drawing"%>
    <%@ import namespace="System.Drawing.Imaging"%>
    <%@ import namespace="System.Drawing.Drawing2D"%>
    <script language="C#" runat="server">
    private Bitmap validateimage;
    private Graphics g;
    public void  Page_Load(object Sender   ,EventArgs e  )
    {
        if (!IsPostBack)
       {
           string  VNum  =MakeValidateCode( );
           Session["VNum"]=VNum;
           ValidateCode(VNum);
       }
    }
    public void  ValidateCode(string VNum)
    {
        validateimage = new Bitmap(70, 20, PixelFormat.Format24bppRgb);
        g = Graphics.FromImage(validateimage);
        g.DrawString(VNum, new Font("Verdana",15),new SolidBrush(Color.White),new PointF(8,0));
        g.FillRectangle(new LinearGradientBrush(new Point(0,0), new Point(110,20), Color.FromArgb(0,0,0,0),Color.FromArgb(255,255,60,40)),0,0,120,30);
        g.Save();
        MemoryStream ms=new MemoryStream();
        validateimage.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
        Response.ClearContent();
        Response.ContentType="image/gif";
        Response.BinaryWrite(ms.ToArray());
        Response.End();
    }
    string MakeValidateCode()
    {
       char[] s = new char[]{'0','1', '2','3','4','5','6','7','8','9','a' ,'b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q' ,'r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G' ,'H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W' ,'X','Y','Z'};
       string num = "";
       Random r = new Random();
       for(int i = 0; i < 5; i++)
       {
          num += s[r.Next(0, s.Length)].ToString();
       }
       return num;
    }
    </script>
    ---ShowValidationCodeImg.aspx
    <asp:Image id="Image1" runat="server" ImageUrl="ValidationCodeImg.aspx"></asp:Image>
    使用方法
    现在,已经生成了图片验证码,在需要进行验证时,将MakeValidateCode()生成的字符串传递给相应的验证函数即可。

  • 相关阅读:
    笔记35 跨重定向请求传递数
    判断邮箱的正则表达式
    按钮
    async await 的用法
    笔记34 Spring MVC的高级技术——处理multipart形式的数据
    Convert Sorted Array to Binary Search Tree
    Binary Tree Zigzag Level Order Traversal
    Unique Binary Search Trees,Unique Binary Search Trees II
    Validate Binary Search Tree
    Populating Next Right Pointers in Each Node,Populating Next Right Pointers in Each Node II
  • 原文地址:https://www.cnblogs.com/linmilove/p/1500991.html
Copyright © 2011-2022 走看看