using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;//引入命名空间
public partial class ValidateNum : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string validateNum = CreateRandomNum(4);//成生4位随机字符串
CreateImage(validateNum);//将生成的随机字符串绘成图片
Session["ValidateNum"] = validateNum;//保存验证码
}
}
//生成随机字符串
private string CreateRandomNum(int NumCount)
{
string allChar = "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,W,X,Y,Z";
string[] allCharArray = allChar.Split(',');//拆分成数组
string randomNum = "";
int temp = -1;//记录上次随机数的数值,尽量避免产生几个相同的随机数
Random rand = new Random();
for (int i = 0; i < NumCount; i++)
{
if (temp != -1)
{
rand = new Random(i * temp * ((int)DateTime.Now.Ticks));
}
int t = rand.Next(35);
if (temp == t)
{
return CreateRandomNum(NumCount);
}
temp = t;
randomNum += allCharArray[t];
}
return randomNum;
}
//生成图片
private void CreateImage(string validateNum)
{
if (validateNum == null || validateNum.Trim() == String.Empty)
return;
//生成Bitmap图像
System.Drawing.Bitmap image = new System.Drawing.Bitmap(validateNum.Length * 12 + 10, 22);
Graphics g = Graphics.FromImage(image);
try
{
//生成随机生成器
Random random = new Random();
//清空图片背景色
g.Clear(Color.White);
//画图片的背景噪音线
for (int i = 0; i < 25; i++)
{
int x1 = random.Next(image.Width);
int x2 = random.Next(image.Width);
int y1 = random.Next(image.Height);
int y2 = random.Next(image.Height);
g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
}
Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic));
System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);
g.DrawString(validateNum, font, brush, 2, 2);
//画图片的前景噪音点
for (int i = 0; i < 100; i++)
{
int x = random.Next(image.Width);
int y = random.Next(image.Height);
image.SetPixel(x, y, Color.FromArgb(random.Next()));
}
//画图片的边框线
g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
//将图像保存到指定的流
image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent();
Response.ContentType = "image/Gif";
Response.BinaryWrite(ms.ToArray());
}
finally
{
g.Dispose();
image.Dispose();
}
}
}
相关推荐
基于asp.net mvc的图片滑动验证码,极限验证
基于asp.net mvc的图片滑动验证码,随机截取图片,用户需要将截取的图片拖至缺失部分才能通过验证。
数字验证码
作者:harbour 时间:2014/6/3 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string validateNum = CreateRandomNum(4); //成生4位随机字符串
.net图片登录验证码
.net的验证很多不过这个验证很好用的,希望大家下载查阅,增加积分呵呵
asp.net防止上传木马图片
public static bool IsAllowedExtension(FileUpload hifile) { //System.IO.FileStream fs = new System.IO.FileStream(hifile.PostedFile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.
数字验证码2
数字验证码的demo,该demo需要引入jQuery,相比于我的另一篇,该页面更简洁
asp.net 图片验证码
不错的图片验证码,可以只显示数字,或者只显示字母,或者数字与字母的组合,字符颜色随机,大小随机,位置随机
.Net实现图片验证码。
第一次发博。话不多述,先看看页面展示效果。 验证码错误 验证码正确的页面 这是前台代码。有注释 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/&...
Western blot (WB) 灰度分析进阶指南:ImageJ 高效定量技巧与实战优化
本文详细介绍了使用ImageJ进行Western blot灰度分析的进阶技巧,包括批量处理、背景校正和疑难条带处理等实战优化方法。通过自动化宏脚本和动态背景校正,显著提升分析效率和准确性,特别适合科研人员处理复杂WB数据。
常用的正则表达式结合validate验证的写法
jquery validate验证有时候需要自定义一些常用的验证,总结一下平时遇见的。 将自定义方法写在jquery.validate.js中 1.用户名验证 // 用户名验证 jQuery.validator.addMethod("imUserName", function(value, element) { return this.optional(element) || /^(
使用STC15F104W产生PWM脉冲
最近的小项目中使用到了STC15F104W产生PWM脉冲
告别玄学调参:手把手教你用LSTM-AutoEncoder为传感器数据做异常检测(实战篇)
本文详细介绍了LSTM-AutoEncoder在传感器数据异常检测中的工程化实践,包括数据预处理、模型架构设计和生产环境部署策略。通过结合LSTM的时间序列处理能力和AutoEncoder的特征提取优势,该方法能够有效识别温湿度、PM2.5等传感器数据的异常模式,适用于工业物联网和室内空气质量监测等场景。
ASP.NET(VB) 图片验证码
ASP.NET(VB) 图片验证码Jerry(k613@21cn.com)根据网友的C#.NET图片验证改为VB.NET而已,由于VB.NET不支持unchecked,故去掉了按时间种子生成随机数的函数部分。测试中并无出现相同的验证码。ValidCode.vb--------------Imports SystemImports System.DrawingImports System
[Python人工智能] 三十六.基于Transformer的商品评论情感分析 (2)keras构建多头自注意力(Transformer)模型
本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章利用Keras构建深度学习模型并实现了情感分析。这篇文章将介绍Transformer基础知识,并通过Keras构建多头自注意力(Transformer)模型,实现IMDB电影影评数据情感分析。基础性文章,希望对您有所帮助!...
ASP.Net实现图片的验证码
生成图片的Gif.aspx文件!需要引入以下两名命名空间!-----------------------------------start----------------------------------------------using System.Drawing;using System.Drawing.Imaging;private void Page_Load(object sende
【AI编程】Cursor编程工具使用教程:下载、配置、使用、运行Java项目
【AI编程】Cursor编程工具使用教程:下载、配置、使用、运行Java项目
【推荐100个unity插件之7】使用BehaviorDesigner插件制作BOSS的AI行为树
Behavior Designer是一个行为树插件,是一款为了让策划,程序员,美术人员方便使用的可视化编辑器。Behavior Designer提供了强大的AP1可以让你轻松的创建tasks(任务),配合uScript和PlayMaker这样的插件,可以不费吹灰之力就能够创建出强大的Al系统,而无需写行代码。(不懂PlayMaker的,我后面在单独出文章介绍一下,可以期待一下)
asp.net生成验证码图片
<!--var theForm = document.forms[MyForm];if (!theForm) { theForm = document.MyForm;}function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (t
5、癌症数据预处理技术与深度学习在癌症预测中的应用
本文详细介绍了癌症数据预处理技术和深度学习在癌症预测中的应用。针对CT扫描图像、X射线图像、超声图像、基因表达数据和文本数据等不同类型的癌症数据,分别阐述了去噪、插值、配准、归一化等预处理技术的具体方法。同时,分析了深度学习在乳腺癌、白血病和宫颈癌预测中的作用,结合相关影响因素探讨了模型的应用潜力。此外,还总结了深度学习在癌症预测中面临的挑战及未来发展方向,为癌症的早期诊断与精准预测提供了理论支持和技术参考。
简易的asp.net登录图片验证码
第一次写博客,有写得不好的地方欢迎指出来哈 因工作上的需求需要在项目中使用到图片验证码,之前的验证码 大概是8年前的不太符合现在的审美,因此在网上查找比较新的验证码。 用百度搜索出来的结果不太理想,遂用谷歌进行搜索,发现了微软有人放出了验证码的代码,所以对代码进行借用 第一步:新建ashx文件,取名ImageCodeHandler 第二步,代码内容如下: using System; using S...
mjlab 入门教程(一)MuJoCo 人形机器人强化学习训练 sim-to-real 部署框架
摘要:mjlab是一个结合IsaacLab API与MuJoCo简洁性的GPU加速机器人仿真框架,专为强化学习和机器人研究设计。它提供快速安装(支持uv、pip、conda和Docker)、核心功能(域随机化、NaN守护、观测历史/延迟、执行器/传感器系统)以及从IsaacLab的迁移指南。相比IsaacLab,mjlab更轻量、启动更快,直接构建在MuJoCo Warp上,避免了Omniverse开销。其哲学强调裸机性能、开发者体验和核心领域专注,适合需要快速迭代和直接MuJoCo控制的用户,而Isaac
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
分享asp.net的图片验证码的HtmlHelper
分享asp.net的图片验证码的HtmlHelper 一个图片验证码的HtmlHelper,原来的调用代码如下: $(document).ready(function () { $("#validateCode").bind("click", function () { var url = $(this).attr("src"); url += "?" + Math.ra
蓝牙模块HM-10手册
蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。
JS+ASP.NET 图片验证码
JS图片验证码
精雕软件(JDpaint) 5.5 绿色版
精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版
Camera2Demo
在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作
ASP.NET图片验证码的实现
生成图片验证码页面createImg.aspx,验证页面Default.aspx。 CreateImg.aspx页面使用的各个函数如下: string getRandomValidate(int len) 得到随机长度为len的字符串 drawLine(Graphics gfc,Bitmap img) 在图片中画底线
开发基于ASP.NET WebService的图片验证码服务
最近,工作中接到一项任务,开发一个页面验证码功能,查阅了一些网上的资料,并结合以前的绘图方面的知识,实现了如下的解决方案。生成的验证码效果如图:要解决的问题:1. 如何随机生成图片 生成System.Drawing.Bitmap对象,使用System.Drawing.Graphics向位图对象中绘图。2. 如何在WebService的方法中通过参数传递图片数据 将Bit
697



被折叠的 条评论
为什么被折叠?



