c# .net 图片验证类 checkcode v1.1

类别: CSharp.Net, 类库
标签: shawl.qiu, checkcode, validate, validator, valid, .net, c#
摘要: 图片验证
正文:
  1. <%@ Page Language="C#" AutoEventWireup="True" %>
  2. <%@ import Namespace="System.Drawing"%>
  3. <%@ import Namespace="System.Drawing.Drawing2D"%>
  4. <%@ import Namespace="System.Text"%>
  5. <%@ import Namespace="System.Web"%>
  6. <script runat="server">
  7.  private void Page_Load(object sender, System.EventArgs e)
  8.  {
  9.   String sRndStr=checkcode.rndStr(4);
  10.   Session["GalleryCheckCode"]=sRndStr;
  11.   checkcode.general(Session["GalleryCheckCode"]+"");
  12.  } 
  13. /*-----------------------------------------------------------------------------------*\
  14.  * shawl.qiu c# .net checkcode class v1.1
  15. \*-----------------------------------------------------------------------------------*/
  16. //---------------------------------------------------------------------begin class checkcode
  17. public class checkcode
  18. {
  19.  //-----------------------------------begin event
  20.  public checkcode()
  21.  {
  22.  }
  23.  
  24.  ~checkcode()
  25.  {
  26.  }
  27.  //-----------------------------------end event
  28.  
  29.  //-----------------------------------begin public constant
  30.  //-----------------------begin about
  31.  public const String auSubject="shawl.qiu c# .net checkcode class";
  32.  public const String auVersion="v1.1";
  33.  public const String au="shawl.qiu";
  34.  public const String auEmail="shawl.qiu@gmail.com";
  35.  public const String auBlog="http://blog.csdn.net/btbtd";
  36.  public const String auCreateDate="2007-2-7";
  37.  //-----------------------end about
  38.  //-----------------------------------end public constant
  39.  
  40.  //-----------------------------------begin public static method
  41.  public static void general(String sCc)
  42.  {
  43.   Int32 ccLen=sCc.Length;
  44.   
  45.   String ccFtFm="Arial";
  46.   Int32 ccFtSz=14;
  47.   
  48.   Int32 ccWidth=ccLen*ccFtSz+1;
  49.   Int32 ccHeight=21;//ccFtSz+5;
  50.   
  51.   using(Bitmap oImg = new Bitmap(ccWidth, ccHeight))
  52.   {
  53.    using(Graphics oGpc=Graphics.FromImage(oImg))
  54.    {
  55.     using(HatchBrush hBrush = new HatchBrush(HatchStyle.DashedVertical,
  56.       Color.Yellow, Color.Silver))
  57.     { 
  58.      oGpc.FillRectangle(hBrush, 0, 0, ccWidth, ccWidth);
  59.     }
  60.     
  61.     oGpc.DrawString(sCc,new System.Drawing.Font(ccFtFm,ccFtSz, FontStyle.Bold),
  62.      new System.Drawing.SolidBrush(Color.Black),0,0)
  63.      
  64.     //-----------------------边框
  65.     using(Pen blackPen = new Pen(Color.Black, 1))
  66.     {
  67.      oGpc.DrawLine(blackPen, 0, ccHeight, 0, 0); // 左竖线
  68.      oGpc.DrawLine(blackPen, 0,0,ccWidth,0); // 顶横线
  69.      oGpc.DrawLine(blackPen, ccWidth-1,0,ccWidth-1,ccHeight); // 右竖线
  70.      oGpc.DrawLine(blackPen, 0, ccHeight-1, ccWidth, ccHeight-1); // 底横线
  71.     }
  72.     writeImg(oImg);
  73.    }
  74.   }
  75.  } // end public static void general
  76.  
  77.  public static String rndStr(Int32 len)
  78.  {
  79.   String sTemp="";
  80.   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";
  81.   String[] aRnd=sForRnd.Split(',');
  82.   
  83.   Random oRnd=new Random();
  84.   Int32 iArLen=aRnd.Length;
  85.   
  86.   StringBuilder sb=new StringBuilder();
  87.   for(Int32 i=0; i<len; i++)
  88.   {
  89.    sb.Append(aRnd[oRnd.Next(0,iArLen)]);
  90.   }
  91.   
  92.   return sb.ToString();
  93.  } // end public static String rndStr
  94.  //-----------------------------------end public static method
  95.  
  96.  //-----------------------------------begin private static method
  97.  private static void writeImg(Bitmap oImg)
  98.  {
  99.   using(System.IO.MemoryStream ms=new System.IO.MemoryStream())
  100.   {
  101.    oImg.Save(ms,System.Drawing.Imaging.ImageFormat.Png)
  102.    HttpContext.Current.Response.ClearContent();  
  103.    HttpContext.Current.Response.ContentType="image/Png";
  104.    HttpContext.Current.Response.BinaryWrite(ms.ToArray());
  105.   }
  106.  } // end private static void writeImg
  107. }
  108. //---------------------------------------------------------------------end class checkcode
  109. </script>
  110.  
 
文章相关信息:
主题: c# .net 图片验证类 checkcode v1.1
发表者: shawl.qiu
电子邮件: shawl.qiu@gmail.com
QQ: 908202921
MSN: btbtd@msn.com
Homepage: http://www.btbtd.org/
Blog: http://blog.csdn.net/btbtd/
发表日期: 2007-2-7 14:46:54
更新日期: 2007-2-7 14:46:54
来源引用: shawl.qiu CSharp DotNet 个人资料管理系统
引用本页: http://gi.2288.org/mod/code/display/Default.aspx?aid=257
关闭
Google
搜索WWW
搜索www.btbtd.org
搜索blog.csdn.net
Powered by shawl.qiu © 2008-2010 the shawl.qiu Javascript Kits
Copyright © 2008-2010 by shawl.qiu