zoukankan      html  css  js  c++  java
  • ASP.NET纯数字验证码

    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Drawing;
    using System.Drawing.Imaging;

    public partial class Rnd : System.Web.UI.Page
    {
        private int codeLen = 5;//随机显示字符个数
        private int fineness = 85;//图片清晰度
        private int imgWidth = 65;//图片宽度
        private int imgHeight = 20;//图片高度
        private string fontFamily = "Comic Sans MS";//字体名称
        private int fontSize = 12; //字体大小
        private Random random = new Random();
        
        protected void Page_Load(object sender, EventArgs e)
        {
            string validateCode = CreateValidateCode();
            Session["RandomNumber"] = validateCode;
            Bitmap bitmap = new Bitmap(imgWidth, imgHeight);
            DisturbBitmap(bitmap);
            DrawValidateCode(bitmap, validateCode);
            bitmap.Save(Response.OutputStream, ImageFormat.Gif);
        }
        private string CreateValidateCode()//得到随机数
        {
            string validateCode = "";
            for (int i = 0; i < codeLen; i++)
            {
                int n = random.Next(10);//返回一个小于最大值得随机数
                validateCode += n.ToString();
            }
            return validateCode;
        }
        private void DisturbBitmap(Bitmap bitmap)//获取背景图
        {
            for (int i = 0; i < bitmap.Width; i++)
            {
                for (int j = 0; j < bitmap.Height; j++)
                {
                    if (random.Next(90) <= this.fineness)
                    {
                        bitmap.SetPixel(i, j, Color.White);//获取指定位置的像素颜色
                    }
                }
            }
        }
        private void DrawValidateCode(Bitmap bitmap, string validateCode)
        {
            Graphics g = Graphics.FromImage(bitmap);
            Font font = new Font(fontFamily, fontSize, FontStyle.Bold);
            g.DrawString(validateCode, font, Brushes.Black, random.Next(-3, 11), random.Next(-4, 1));//在指定区域绘制文本字符
        }
    }
  • 相关阅读:
    Discuz中解决jquery 冲突的方法 绝对简单
    关于MySql has gone away问题的解决
    关于水晶报表的一些错误
    biweb后台添加上传下载功能
    ajax 异步插入图片到数据库(多图上传)
    ajax 异步插入图片到数据库(单图上传)
    使用ajax异步提交表单数据(史上最完整的版本)
    系统管理-软件管理
    系统管理-计划任务-系统日志
    Django-ondelete
  • 原文地址:https://www.cnblogs.com/lds85930/p/1507780.html
Copyright © 2011-2022 走看看