
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
	<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head><card id="MainCard" title="&#x6B22;&#x8FCE;&#x5149;&#x4E34;"><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a><br/>&nbsp;</p><p><b>&#x6807;&#x9898;&#x3A;</b> &#x4E00;&#x4E2A;&#x5F88;&#x43;&#x4F;&#x4F;&#x4C;&#x7684;&#x56FE;&#x7247;&#x9A8C;&#x8BC1;&#x7801;&#x7A0B;&#x5E8F;&#x5B;&#x542B;&#x6E90;&#x7801;&#x5D;</p><p><b>&#x4F5C;&#x8005;&#x3A;</b> &#x64;&#x6E;&#x61;&#x77;&#x6F;</p><p><b>&#x65E5;&#x671F;&#x3A;</b> &#x32;&#x30;&#x30;&#x37;&#x2D;&#x31;&#x32;&#x2D;&#x32;&#x38;&#x20;&#x31;&#x30;&#x3A;&#x31;&#x33;&#x20;&#x41;&#x4D;</p><p><b>&#x5206;&#x7C7B;&#x3A;</b> <a href="wap.asp?do=showLog&amp;cateID=5">&#x57;&#x65;&#x62;&#x7F16;&#x7A0B;</a></p><p><b>&#x5185;&#x5BB9;&#x3A;</b> &#x58F0;&#x660E;&#xFF1A;&#x672C;&#x7A0B;&#x5E8F;&#x7CFB;&#x672C;&#x4EBA;&#x539F;&#x521B;&#xFF0C;&#x5F15;&#x7528;&#x65F6;&#x8BF7;&#x4FDD;&#x7559;&#x4EE5;&#x4E0B;&#x4FE1;&#x606F;&#xFF1A;<br/>--------------------------------------------------------------------------------<br/>&#x963F;&#x5C71;Net [MSN:a3news(AT)hotmail.com] <br/>http://www.zpxp.com &#x841D;&#x535C;&#x9F20;&#x5728;&#x7EBF;&#x56FE;&#x5F62;&#x56FE;&#x50CF;&#x5904;&#x7406;<br/>http://www.wingoon.com<br/>--------------------------------------------------------------------------------<br/>&#x4E00;&#x3001;&#x5148;&#x770B;&#x770B;&#x6548;&#x679C;<br/>http://www.wingoon.com&#x9996;&#x9875;&#x767B;&#x5F55;&#x53E3;(&#x5927;&#x5C0F;&#x4E3A;:75*21)<br/>http://app.wingoon.com/job/member/member_login.aspx?requestUrl=/job/member/index.aspx(&#x5927;&#x5C0F;&#x4E3A;:100*32)<br/>&#x5236;&#x4F5C;&#x6B65;&#x9AA4;&#xFF1A;<br/>&#x2474; &#x51C6;&#x5907;&#x4F60;&#x60F3;&#x8981;&#x7684;&#x591A;&#x5F20;&#x56FE;&#x7247;&#xFF08;&#x6570;&#x91CF;&#x4E0D;&#x9650;&#xFF0C;&#x7531;&#x4F60;&#x81EA;&#x5DF1;&#x51B3;&#x5B9A;&#xFF09;&#xFF0C;&#x5C06;&#x5B83;&#x4EEC;&#x653E;&#x5728;&#x4E00;&#x4E2A;&#x7EDF;&#x4E00;&#x7684;&#x76EE;&#x5F55;&#x4E0B;&#xFF0C;&#x6BD4;&#x5982;&#x6211;&#x8FD9;&#x91CC;&#x662F;&#x201C;ValidateCodeImg&#x201D;&#x3002;&#x56FE;&#x7247;&#x5C3A;&#x5BF8;&#x5C3D;&#x91CF;&#x9002;&#x5408;&#x4F60;&#x7684;&#x9A8C;&#x8BC1;&#x7801;&#x5C3A;&#x5BF8;&#x3002;&#x8FD9;&#x6837;&#x6709;&#x5229;&#x4E8E;&#x8FBE;&#x5230;&#x6700;&#x4F73;&#x6027;&#x80FD;&#x6BD4;&#x3002;<br/>&#x2475; &#x5C06;&#x4EE5;&#x4E0B;&#x4EE3;&#x7801;&#x5206;&#x522B;COPY&#x5230;&#x4F60;&#x7684;&#x5DE5;&#x7A0B;&#x76EE;&#x5F55;&#x4E0B;&#xFF08;&#x8BB0;&#x5F97;&#x653E;&#x5728;ValidateCodeImg&#x76EE;&#x5F55;&#x7684;&#x4E0A;&#x4E00;&#x7EA7;&#x76EE;&#x5F55;&#x4E2D;&#xFF09;&#x3002;<br/>&#x4E8C;&#x3001;&#x76F8;&#x5173;&#x4EE3;&#x7801;<br/>1&#x3001;// ValidateCode.aspx&#x9875;&#x9762;:<br/>-----------------------------------------<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;&lt;%@ Page Language=&#34;C#&#34; AutoEventWireup=&#34;true&#34; CodeFile=&#34;ValidateCode.aspx.cs&#34; Inherits=&#34;Comm_ValidateCode&#34; %&gt;<br/>&lt;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Transitional//EN&#34; &#34;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#34;&gt;<br/>&lt;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34; &gt;<br/>&lt;head runat=&#34;server&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;&#x751F;&#x6210;&#x56FE;&#x7247;&#x9A8C;&#x8BC1;&#x7801;&lt;/title&gt;<br/>&lt;/head&gt;<br/>&lt;body&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;form id=&#34;form1&#34; runat=&#34;server&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/form&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;<br/>2&#x3001;// ValidateCode.aspx.cs<br/>--------------------------------------<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;using System;<br/>using System.Data;<br/>using System.Configuration;<br/>using System.Collections;<br/>using System.Web;<br/>using System.Web.Security;<br/>using System.Web.UI;<br/>using System.Web.UI.WebControls;<br/>using System.Web.UI.WebControls.WebParts;<br/>using System.Web.UI.HtmlControls;<br/>using System.Drawing;<br/>using System.Drawing.Imaging;<br/>using System.IO;<br/>public partial class Comm_ValidateCode : System.Web.UI.Page<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;int _width = 75;<br/>&nbsp;&nbsp;&nbsp;&nbsp;int _height = 21;<br/>//&nbsp;&nbsp;&nbsp;&nbsp;int _width = 128;<br/>//&nbsp;&nbsp;&nbsp;&nbsp;int _height = 40;<br/>&nbsp;&nbsp;&nbsp;&nbsp;string imgDir = @&#34;ValidateCodeImg&#34;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public int Width<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return _width;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_width = value;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;public int Height<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return _height;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_height = value;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;protected void Page_Load(object sender, EventArgs e)<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (Request.QueryString[&#34;w&#34;] != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this._width = int.Parse(Request.QueryString[&#34;w&#34;].Trim());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch (Exception exc)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (Request.QueryString[&#34;h&#34;] != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this._height = int.Parse(Request.QueryString[&#34;h&#34;].Trim());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch (Exception exc)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;4&#x4F4D;&#x6570;&#x5B57;&#x7684;&#x9A8C;&#x8BC1;&#x7801;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!IsPostBack)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string str_ValidateCode = GetRandomNumberString(4);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#x7528;&#x4E8E;&#x9A8C;&#x8BC1;&#x7684;Session<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Session[&#34;ValidateCode&#34;] = str_ValidateCode;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cr&#101;ateImage(str_ValidateCode);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&#x751F;&#x6210;&#x968F;&#x673A;&#x6570;&#x5B57;&#x5B57;&#x7B26;&#x4E32;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public string GetRandomNumberString(int int_NumberLength)<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string str_Number = string.Empty;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Random theRandomNumber = new Random();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int int_index = 0; int_index &lt; int_NumberLength; int_index++)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str_Number += theRandomNumber.Next(10).ToString();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return str_Number;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;//&#x751F;&#x6210;&#x968F;&#x673A;&#x989C;&#x8272;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public Color GetRandomColor()<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Random RandomNum_First = new Random((int)DateTime.Now.Ticks);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Threading.Thread.Sleep(RandomNum_First.Next(50));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Random RandomNum_Sencond = new Random((int)DateTime.Now.Ticks);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int int_Red = RandomNum_First.Next(256);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int int_Green = RandomNum_Sencond.Next(256);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int int_Blue = (int_Red + int_Green &gt; 400) ? 0 : 400 - int_Red - int_Green;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int_Blue = (int_Blue &gt; 255) ? 255 : int_Blue;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return Color.FromArgb(int_Red, int_Green, int_Blue);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;public FileInfo[] GetAllFilesInPath(string path)<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.IO.DirectoryInfo di = new DirectoryInfo(path);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return di.GetFiles(&#34;*.jpg&#34;, SearchOption.TopDirectoryOnly);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;public string GetRandomFile(string path)<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileInfo[] fi = this.GetAllFilesInPath(path);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Random rand = new Random(new Guid().GetHashCode() + (int)DateTime.Now.Ticks);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int k = rand.Next(0, fi.Length);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return fi[k].FullName;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;public int GetRandomAngle()<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Random rand = new Random((int)DateTime.Now.Ticks);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Threading.Thread.Sleep(rand.Next(50));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return rand.Next(-45, 45);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;//&#x6839;&#x636E;&#x9A8C;&#x8BC1;&#x5B57;&#x7B26;&#x4E32;&#x751F;&#x6210;&#x6700;&#x7EC8;&#x56FE;&#x8C61;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public void Cr&#101;ateImage(string str_ValidateCode)<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//int int_ImageWidth = str_ValidateCode.Length * 13;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//int width = int_ImageWidth;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int int_ImageWidth = this.Width;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int width = int_ImageWidth;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int height = this.Height;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string filePath = Server.MapPath(imgDir);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bitmap bgImg = (Bitmap)Bitmap.FromFile(GetRandomFile(filePath));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Random newRandom = new Random();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&#x56FE;&#x9AD8;20px<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bitmap theBitmap = new Bitmap(width, height);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Graphics theGraphics = Graphics.FromImage(theBitmap);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theGraphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theGraphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theGraphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&#x767D;&#x8272;&#x80CC;&#x666F;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//theGraphics.Clear(Color.White);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theGraphics.DrawImage(bgImg, new Rectangle(0, 0, width, height), new Rectangle(0, 0, bgImg.Width, bgImg.Height), GraphicsUnit.Pixel);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&#x7070;&#x8272;&#x8FB9;&#x6846;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theGraphics.DrawRectangle(new Pen(Color.LightGray, 1), 0, 0, int_ImageWidth - 1, height - 1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//13pt&#x7684;&#x5B57;&#x4F53;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float fontSize = this.Height * 1.0f / 1.38f;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float fontSpace = fontSize / 7f;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Font theFont = new Font(&#34;Arial&#34;, fontSize);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Drawing.Drawing2D.GraphicsPath gp = null;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Drawing.Drawing2D.Matrix matrix;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int int_index = 0; int_index &lt; str_ValidateCode.Length; int_index++)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string str_char = str_ValidateCode.Substring(int_index, 1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Brush newBrush = new SolidBrush(GetRandomColor());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Point thePos = new Point((int)(int_index * (fontSize + fontSpace) + newRandom.Next(3)), 1 + newRandom.Next(3));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gp = new System.Drawing.Drawing2D.GraphicsPath();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gp.AddString(str_char, theFont.FontFamily, 0, fontSize, thePos, new StringFormat());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matrix = new System.Drawing.Drawing2D.Matrix();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int angle = GetRandomAngle();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PointF centerPoint = new PointF(thePos.X + fontSize / 2, thePos.Y + fontSize / 2);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matrix.RotateAt(angle, centerPoint);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theGraphics.Transform = matrix;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theGraphics.DrawPath(new Pen(Color.White, 2f), gp);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//theGraphics.FillPath(new SolidBrush(Color.Black), gp);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theGraphics.FillPath(new SolidBrush(GetRandomColor()), gp);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theGraphics.ResetTransform();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (gp != null) gp.Dispose();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&#x5C06;&#x751F;&#x6210;&#x7684;&#x56FE;&#x7247;&#x53D1;&#x56DE;&#x5BA2;&#x6237;&#x7AEF;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MemoryStream ms = new MemoryStream();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theBitmap.Save(ms, ImageFormat.Png);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.ClearContent(); //&#x9700;&#x8981;&#x8F93;&#x51FA;&#x56FE;&#x8C61;&#x4FE1;&#x606F; &#x8981;&#x4FEE;&#x6539;HTTP&#x5934; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.ContentType = &#34;image/Png&#34;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.BinaryWrite(ms.ToArray());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theGraphics.Dispose();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theBitmap.Dispose();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.End();<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>} <br/>&#x4E09;&#x3001;&#x5982;&#x4F55;&#x4F7F;&#x7528;&#xFF1F;<br/>1&#x3001;&#x5F15;&#x7528;&#x9A8C;&#x8BC1;&#x7801;&#x56FE;&#x5F62;&#x65F6;&#xFF1A;<br/>&lt;img src=&#34;ValidateCode.aspx?w=100&amp;h=32&#34; id=&#34;ValidateCodeAuto&#34; width=&#34;100&#34; height=&#34;32&#34; align=&#34;absmiddle&#34; /&gt; &amp;nbsp; &lt;a href=&#34;#&#34; onclick=&#34;Javascript:var now=new Date();var number = now.getSeconds(); document.getElementById(&#39;ValidateCodeAuto&#39;).src=&#39;ValidateCode.aspx?w=100&amp;h=32&amp;dd=&#39; + number;&#34;&gt;&#x770B;&#x4E0D;&#x6E05;&#x695A;&lt;/a&gt;<br/>2&#x3001;&#x9A8C;&#x8BC1;&#x65F6;&#xFF0C;&#x5224;&#x65AD;&#x7528;&#x6237;&#x8F93;&#x5165;&#x9A8C;&#x8BC1;&#x7801;&#x662F;&#x5426;&#x7B49;&#x4E8E; Session[&#34;ValidateCode&#34;] &#x5373;&#x53EF;&#x3002;<br/>3&#x3001;&#x5176;&#x4ED6;&#x8BF4;&#x660E;&#xFF1A;<br/>&#x2474; &#x4E0A;&#x9762;&#x6709;&#x4E24;&#x4E2A;&#x53C2;&#x6570;w&#x548C;h&#xFF0C;&#x662F;&#x7528;&#x6765;&#x5B9A;&#x4E49;&#x56FE;&#x5F62;&#x9A8C;&#x8BC1;&#x7801;&#x5927;&#x5C0F;&#x7684;&#x3002;&#x6BD4;&#x5982;&#x4F60;&#x60F3;&#x5C06;&#x4F60;&#x9A8C;&#x8BC1;&#x7801;&#x8BBE;&#x7F6E;&#x4E3A;128*40&#x65F6;&#xFF0C;&#x4F60;&#x53EA;&#x9700;&#x8981;ValidateCode.aspx?w=128&amp;h=40&#xFF0C;&#x7136;&#x540E;&#x5C06;&#x56FE;&#x7247;&#x5F15;&#x7528;&#x540E;&#x9762;&#x7684;Width,Height&#x6539;&#x6210;&#xFF1A;width=&#34;128&#34; height=&#34;40&#34; &#x5373;&#x53EF;&#x3002;&#x5BF9;&#x5E94;&#x7684;&#xFF0C;&#x770B;&#x4E0D;&#x6E05;&#x695A;&#x7684;Javascript&#x4EE3;&#x7801;&#x4E5F;&#x9700;&#x8981;&#x5C06;src=&#39;ValidateCode.aspx?w=100&amp;h=32&#x6539;&#x6210;&#xFF1A;src=&#39;ValidateCode.aspx?w=128&amp;h=40&#x3002;<br/>&#x2475; &#x201C;&#x770B;&#x4E0D;&#x6E05;&#x695A;&#x201D;&#x5904;&#x8FD8;&#x6709;&#x4E00;&#x4E2A;&#x53C2;&#x6570;dd&#xFF0C;&#x662F;&#x7528;&#x6765;&#x505A;&#x751F;&#x6210;&#x968F;&#x673A;&#x503C;&#x4EE5;&#x4FBF;&#x66F4;&#x65B0;&#x9A8C;&#x8BC1;&#x7801;&#x56FE;&#x7247;&#x7684;&#x3002;</p><p> + <a href="#CommentCard">&#x67E5;&#x770B;&#x5F53;&#x524D;&#x65E5;&#x5FD7;&#x8BC4;&#x8BBA;</a> (0)</p><p>&nbsp;<br/><br/><a href="wap.asp?do=Login">&#x767B;&#x5F55;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.134&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="postCommentCard"><p><b>&#x6807;&#x9898;&#x3A;</b> <a href="#MainCard">&#x4E00;&#x4E2A;&#x5F88;&#x43;&#x4F;&#x4F;&#x4C;&#x7684;&#x56FE;&#x7247;&#x9A8C;&#x8BC1;&#x7801;&#x7A0B;&#x5E8F;&#x5B;&#x542B;&#x6E90;&#x7801;&#x5D;</a></p><p><br/>你没有权限发表评论</p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.134&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="CommentCard"><p>&#x6682;&#x65E0;&#x8BC4;&#x8BBA;</p><p><a href="#MainCard">&#x8FD4;&#x56DE;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.141&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card>
</wml>
