c# .net 生成圖片驗證碼的代碼
更新時間:2007年03月20日 00:00:00 作者:
說明:
.net 萬歲...
.net framework 的類庫真是太強(qiáng)了, 用 GDI+ 可以干N多N多事情.
廣告時間:
shawl.qiu C# CMS 系統(tǒng) 預(yù)計40天后開始編碼, 現(xiàn)在逐步設(shè)計中, 免得到時求職說什么什么作品...唉.
PS: 今天求職真是慘不忍睹, 誰要招網(wǎng)頁相關(guān)的請聯(lián)系 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="shawl.qiu@gmail.com";
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>
.net 萬歲...
.net framework 的類庫真是太強(qiáng)了, 用 GDI+ 可以干N多N多事情.
廣告時間:
shawl.qiu C# CMS 系統(tǒng) 預(yù)計40天后開始編碼, 現(xiàn)在逐步設(shè)計中, 免得到時求職說什么什么作品...唉.
PS: 今天求職真是慘不忍睹, 誰要招網(wǎng)頁相關(guān)的請聯(lián)系 13435580019, 邱先生.
什么地方俺都去, 工資只要能過活就行, 但是食宿問題得解決.
shawl.qiu
2007-02-01
http://blog.csdn.net/btbtd
class checkcode:
復(fù)制代碼 代碼如下:
<%@ 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="shawl.qiu@gmail.com";
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>
相關(guān)文章
asp.net獲取當(dāng)前網(wǎng)址url的各種屬性(文件名、參數(shù)、域名 等)的代碼
用 asp.net獲取當(dāng)前網(wǎng)頁地址的一些信息。2010-07-07ASP.NET動態(tài)加載用戶控件的實現(xiàn)方法
動態(tài)加載用戶控件的方法,用asp.net的朋友推薦2008-10-10Asp.net core實現(xiàn)PushStream視頻流推送
這篇文章介紹了Asp.net core實現(xiàn)PushStream視頻流推送的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07運(yùn)行asp.net時出現(xiàn) http錯誤404-文件或目錄未找到
問題描述: http錯誤404-文件或目錄未找到的解決方法2009-03-03ASP.NET Core讀取Request.Body的正確方法
相信大家在使用ASP.NET Core進(jìn)行開發(fā)的時候,肯定會涉及到讀取Request.Body的場景,畢竟我們大部分的POST請求都是將數(shù)據(jù)存放到Http的Body當(dāng)中,本文就介紹一下ASP.NET Core讀取Request.Body,感興趣的可以了解一下2021-05-05.NET?Core跨平臺資源監(jiān)控工具CZGL.SystemInfo用法
這篇文章介紹了.NET?Core跨平臺資源監(jiān)控工具CZGL.SystemInfo的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02異步調(diào)用webservice返回responseXML為空的問題解決方法
異步調(diào)用webservice返回responseXML為空,詳細(xì)很多朋友都遇到過類似的問題吧,接下來為大家提供詳細(xì)的解決方案,感興趣的朋友可以參考下哈2013-04-04