博客
关于我
用户登陆的验证码的制作
阅读量:676 次
发布时间:2019-03-16

本文共 1284 字,大约阅读时间需要 4 分钟。

protected void FormCheck()

{
// 验证码的生成
Random rand = new Random();
int len = rand.Next(4, 6);

// 可选字符  char[] str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray();  // 创建字符串构建器  System.Text.StringBuilder code = new System.Text.StringBuilder();  // 随机生成验证码  for (int i = 0; i < len; i++)  {      code.Append(str[rand.Next(str.Length)]);  }  // 将验证码存放到会话中  this.Session["result"] = code.ToString();  // 获取验证码的大小  Size imageSize = new Size();  imageSize.Width = (int)(imageSize.Width + 6);  imageSize.Height = (int)(imageSize.Height + 5);  // 创建并生成验证码的图像  using (Bitmap bmp = new Bitmap(imageSize.Width, imageSize.Height))  {      using (Graphics g = Graphics.FromImage(bmp))      {          g.Clear(Color.White);          g.DrawString(code.ToString(), myFont, Brushes.Black, new RectangleF(0, 0, imageSize.Width, imageSize.Height));      }  }  // 随机设置图片像素颜色  int x = rand.Next(imageSize.Width);  int y = rand.Next(imageSize.Height);  int r = rand.Next(255);  int g = rand.Next(255);  int b = rand.Next(255);  Color c = Color.FromArgb(r, g, b);  bmp.SetPixel(x, y, c);  // 保存图片到流中并输出  using (MemoryStream ms = new MemoryStream())  {      bmp.Save(ms, ImageFormat.Png);      this.Response.ContentType = "image/png";      ms.WriteTo(this.Response.OutputStream);      ms.Close();  }

}

转载地址:http://ssdqz.baihongyu.com/

你可能感兴趣的文章
opencv面向对象设计初探
查看>>
OpenCV(1)读写图像
查看>>
OpenCV:不规则形状区域中每种颜色的像素数?
查看>>
OpenCV:概念、历史、应用场景示例、核心模块、安装配置
查看>>
OpenDaylight融合OpenStack架构分析
查看>>
openEuler Summit 2022 成功举行,开启全场景创新新时代
查看>>
OpenFeign源码学习
查看>>
OpenFeign组件声明式服务调用
查看>>
Openfire身份认证绕过漏洞复现+利用(CVE-2023-32315)
查看>>
OpenGL中shader读取实现
查看>>
OpenGL着色器、纹理开发案例
查看>>
openjudge 1792 迷宫 解析报告
查看>>
Openlayers Draw的用法、属性、方法、事件介绍
查看>>
Openlayers layer 基础及重点内容讲解
查看>>
Openlayers Select的用法、属性、方法、事件介绍
查看>>
Openlayers Source基础及重点内容讲解
查看>>
Openlayers view三要素(zoom,center,projection)及其他参数属性方法介绍
查看>>
openlayers 入门教程(九):overlay 篇
查看>>
openlayers 入门教程(二):map 篇
查看>>
openlayers 入门教程(五):sources 篇
查看>>