当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > c# .net 生成图片验证码的代码

ASP.NET
asp.net下用服务器端代码解决浏览器兼容性问题
asp.net 安全的截取指定长度的html或者ubb字符串
asp.net 在线编辑word文档 可保存到服务器
asp.net 提高网站速度及如何利用缓存
asp.net 修改/删除站内目录操作后Session丢失问题
asp.net URL重写简化版 速学URL重写
asp.net EncryptHelper 加密帮助类
asp.net JSONHelper JSON帮助类
C# 调用存储过程简单完整的实例代码
vs2008 安装失败的总结与分享
HttpHandler HttpModule入门篇
ASP.NET(AJAX+JSON)实现对象调用
Asp.net 基于Cookie简易的权限判断
asp.net通过HttpModule自动在Url地址上添加参数
asp.net 字符串、二进制、编码数组转换函数
ASP.NET操作Excel备忘录
记录游客页面访问IP的简易实现代码 (asp.net+txt)
比较简单的将数据信息导入wrod文档方案(C# for word)
增加asp.net应用程序性能的20种方法(简单有效)
ASP.NET 图片防盗链的实现原理分析

ASP.NET 中的 c# .net 生成图片验证码的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 63 ::
收藏到网摘: n/a

说明:
.net 万岁...
.net framework 的类库真是太强了, 用 GDI+ 可以干N多N多事情.
广告时间:
shawl.qiu C# CMS 系统 预计40天后开始编码, 现在逐步设计中, 免得到时求职说什么什么作品...唉.
PS: 今天求职真是惨不忍睹, 谁要招网页相关的请联系 13435580019, 邱先生.
什么地方俺都去, 工资只要能过活就行, 但是食宿问题得解决.
shawl.qiu
2007-02-01
http://blog.csdn.net/btbtd
class checkcode:
复制代码 代码如下:

<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ import Namespace="System.Drawing"%>
<%@ import Namespace="System.Drawing.Drawing2D"%>
<%@ import Namespace="System.Web"%>
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
String sRndStr=checkcode.rndStr(4);
checkcode.general(sRndStr);
}
/*-----------------------------------------------------------------------------------*\
* shawl.qiu c# .net checkcode class v1.0
\*-----------------------------------------------------------------------------------*/
//---------------------------------------------------------------------begin class checkcode
public class checkcode
{
//-----------------------------------begin event
public checkcode()
{
}
~checkcode()
{
}
//-----------------------------------end event
//-----------------------------------begin public constant
//-----------------------begin about
public const String auSubject="shawl.qiu c# .net checkcode class";
public const String auVersion="v1.0";
public const String au="shawl.qiu";
public const String auEmail="[email protected]";
public const String auBlog="http://blog.csdn.net/btbtd";
public const String auCreateDate="2007-2-1";
//-----------------------end about
//-----------------------------------end public constant
//-----------------------------------begin public static method
public static void general(String sCc)
{
Int32 ccLen=sCc.Length;
String ccFtFm="Arial";
Int32 ccFtSz=12;
Int32 ccWidth=ccLen*ccFtSz+1;
Int32 ccHeight=ccFtSz+5;
using(Bitmap oImg = new Bitmap(ccWidth, ccHeight))
{
using(Graphics oGpc=Graphics.FromImage(oImg))
{
HatchBrush hBrush = new HatchBrush(HatchStyle.DashedVertical,
Color.Yellow, Color.Silver);
oGpc.FillRectangle(hBrush, 0, 0, ccWidth, ccWidth);
oGpc.DrawString(sCc,new System.Drawing.Font(ccFtFm,ccFtSz, FontStyle.Bold),
new System.Drawing.SolidBrush(Color.Black),0,0);
//-----------------------边框
Pen blackPen = new Pen(Color.Black, 1);
oGpc.DrawLine(blackPen, 0, ccHeight, 0, 0); // 左竖线
oGpc.DrawLine(blackPen, 0,0,ccWidth,0); // 顶横线
oGpc.DrawLine(blackPen, ccWidth-1,0,ccWidth-1,20); // 右竖线
oGpc.DrawLine(blackPen, 0, ccHeight-1, ccWidth, ccHeight-1); // 底横线
writeImg(oImg);
}
}
} // end public static void general
public static String rndStr(Int32 len)
{
String sTemp="";
String sForRnd="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";
String[] aRnd=sForRnd.Split(',');
Random oRnd=new Random();
Int32 iArLen=aRnd.Length;
for(Int32 i=0; i<len; i++)
{
sTemp+=aRnd[oRnd.Next(0,iArLen)];
}
return sTemp;
} // end public static String rndStr
//-----------------------------------end public static method
//-----------------------------------begin private static method
private static void writeImg(Bitmap oImg)
{
using(System.IO.MemoryStream ms=new System.IO.MemoryStream())
{
oImg.Save(ms,System.Drawing.Imaging.ImageFormat.Png);
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ContentType="image/Png";
HttpContext.Current.Response.BinaryWrite(ms.ToArray());
}
} // end private static void writeImg
}
//---------------------------------------------------------------------end class checkcode
</script>