asp.net创建位图生成验证图片类

 本文提供一个asp.net生成验证图片的类,功能是显示简单的字符串,大家参考使用吧

代码:
 
 代码如下:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "image/jpeg";
//创建位图,并且给指定边框的宽高
using (Image img=new Bitmap(80,25))
{
 
//创建画家对象,在img对象画字符串
using (Graphics g=Graphics.FromImage(img))

//设置位图的背景颜色,默认是黑色
g.Clear(Color.White);
//设置验证码的宽高, img.Width-1, img.Height-1主要是背景颜色覆盖了边框线
g.DrawRectangle(Pens.Black, 0, 0, img.Width-1, img.Height-1);
//传100个噪点,传画家对象,位图对象
DrawPoint(100, g, img);
//画4个验证码的字符串
string vcode=GetCode(4);//vcode这里可以赋值给Cookie
 
g.DrawString(vcode,
new Font("Arial", 14, FontStyle.Strikeout | FontStyle.Strikeout), // FontStyle字体的样式,多个样式,需要|线 
 
Brushes.Black,
new RectangleF(r.Next(20), r.Next(7), img.Width, img.Height));
img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);//保存验证码对象,指定是Jpeg格式
 
}
}
}
 
//画噪点方法
 
void DrawPoint(int point,Graphics g,Image img)
{
for (int i = 0; i < point; i++)
{
int x = r.Next(img.Width);
int y = r.Next(img.Width);
g.DrawLine(Pens.Red,
new Point(x, y),
new Point(x+2, y+2));
 
}
}
 
//随机数
Random r = new Random();
 
//画字符创
string GetCode(int point)
{
string txtStr = "ASF2345WE5R9F3HMBCZ455K";//这里的string字符串将会转成 char数组,阿拉伯数字1和小写字母l最好别写在里面,会搞胡乱。
char[] charArr = txtStr.ToArray();
int num = 0;
string code = "";
for (int i = 0; i <point; i++)
{
num = r.Next(charArr.Length);
code +=charArr[num];
}
return code;
}

时间: 2024-08-26 15:29:54

asp.net创建位图生成验证图片类的相关文章

asp.net创建位图生成验证图片类(验证码类)_实用技巧

代码: 复制代码 代码如下: public void ProcessRequest(HttpContext context){context.Response.ContentType = "image/jpeg";//创建位图,并且给指定边框的宽高using (Image img=new Bitmap(80,25)){ //创建画家对象,在img对象画字符串using (Graphics g=Graphics.FromImage(img)){ //设置位图的背景颜色,默认是黑色g.Cl

ASP.NET创建自定义数据控制器基类

无论什么时候,你在写代码时都会发现其实你在一遍又一遍地编写着同样类型的代码,现在是时候停下来考虑一下你是否正在浪费者大量的时间.昨天,我发现在创建一个数据库驱动的ASP.NET MVC应用程序时,我的确处在这样一种情形中.我不得不为应用程序中的每一个数据库表进行标准的操作--显示数据.更新数据.插入数据.删除数据.一遍又一遍地编写完全相同的代码,这种可怕的现象赋予我灵感,让我写下了今天这篇ASP.NET MVC Tip. MVC控制器就是一个类(Visual Basic或C#类).既然是类,就可

asp.net创建文件夹的IO类的问题

C#中.net中得IO类虽然功能很强大,但是正是因为功能强大,所以在很多虚拟服务商的服务器上并不实用 .因为IO.Directory和IO.DirectoryInfo在应用文件夹操作中,会遍历网站所在的硬盘的磁盘跟目录,一般虚拟服务商并不会给这个磁盘的Network service用户开启读取权限,所以在操作文件夹的时候,使用IO下的这两个类会出现如下错误 未找到路径"E:\"的一部分. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码

使用ashx文件生成验证码图片

 在vs2005中可以直接创建.ashx文件,其项目叫做一般处理程序,.ashx文件一般用来处理只有返回,二一般不回传的数据,比如动态生成图片,或者文字,以下为清清月儿博客上转载的一个用ashx动态生成验证码图片的代码. //绘制验证码图片ValidateImageHandler.ashx 1 <%@ WebHandler Language="C#" Class="ValidateImageHandler" %> 2  3 using System; 4

Zebra_Form v2.2发布 PHP类简化表单创建和数据验证

Zebra_Form是一个用于简化表单的创建和数据验证的PHP类. Zebra_Form 2.2修复了自定义表单验证的bug,修复了日期控件的验证bug以及PHP5生成输出信息的bug等. Zebra_Form 2.2发行说明: fixed a bug where, for custom validations, the http://www.aliyun.com/zixun/aggregation/33906.html">JavaScript function was not getti

asp动态生成wbmp图片的程序

程序|动态 asp动态生成wbmp图片的程序 (ASP2001)<%@ Language=VBScript %><% '函数1:'将字符串转换成二进制Function StoB(varstr)str2bin = ""For i = 1 To Len(varstr)varchar = Mid(varstr, i, 1)str2bin = str2bin & ChrB(AscB(varchar))NextStoB = str2binEnd Function '函数

asp.net中word导出页面,如何把动态生成的图片也导出word中

问题描述 asp.net中word导出页面,如何把动态生成的图片也导出word中 在word导出页面的时候如何能把生成的图片也导出word里面呢,如果是显示到页面中的话生成的图片是能显示的,但是导入word中的时候就不行了 这是代码 应该怎么才能把图片导出word中呢 解决方案 将asp页面导出到WORDasp.net 页面导出wordasp.net2.0导出生成word 解决方案二: string html=tw.ToString();//存储生成的html代码 html=html.Repla

java创建缩略图、伸缩图片比例生成实例

源码:  代码如下 复制代码 package com.hoo.util;   import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import ja

Asp.net中基于Forms验证的角色验证授权

asp.net Asp.net中基于Forms验证的角色验证授权 Asp.net的身份验证有有三种,分别是"Windows | Forms | Passport",其中又以Forms验证用的最多,也最灵活.Forms 验证方式对基于用户的验证授权提供了很好的支持,可以通过一个登录页面验证用户的身份,将此用户的身份发回到客户端的Cookie,之后此用户再访问这个web应用就会连同这个身份Cookie一起发送到服务端.服务端上的授权设置就可以根据不同目录对不同用户的访问授权进行控制了. 问