gif.aspx.cs

来自「企业网站前台后台源程序,用于大中小型企业网站后台程序开发」· CS 代码 · 共 111 行

CS
111
字号
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Drawing;

namespace Websystem
{
	/// <summary>
	/// gif 的摘要说明。
	/// </summary>
	public class gif : System.Web.UI.Page
	{
  
		private void Page_Load(object sender, System.EventArgs e)
		{
			string checkCode = CreateRandomCode(5);
			System.Web.HttpContext.Current.Response.Cookies["CheckCode"].Value = checkCode;
			CreateImage(checkCode);
		}
		private string CreateRandomCode(int codeCount)
		{

			string allChar = "0,1,2,3,4,5,6,7,8,9";
			string[] allCharArray = allChar.Split(',');
			string randomCode = "";
			int temp = -1;
			Random rand = new Random();

			for (int i = 0; i < codeCount; i++)
			{
				if (temp != -1)
				{
					rand = new Random(i * temp * ((int)DateTime.Now.Ticks));
				}
				int t = rand.Next(10);
				if (temp == t)
				{
					return CreateRandomCode(codeCount);
				}
				temp = t;
				randomCode += allCharArray[t];
			}
			return randomCode;
		}

		private void CreateImage(string checkCode)
		{

			int iwidth = (int)(checkCode.Length * 16);
			//System.Drawing.Bitmap image = new System.Drawing.Bitmap(iwidth,22);
			System.Drawing.Image image = System.Drawing.Image.FromFile(GetFilePath("~/images/bg.jpg"));
			Graphics g = Graphics.FromImage(image);
			Font f = new System.Drawing.Font("Arial", 12, System.Drawing.FontStyle.Regular);
			Brush b = System.Drawing.Brushes.Black;
			//g.Clear(Color.FromArgb(255,255,255));
			g.DrawString(checkCode, f, b, 4, 4);

			Pen blackPen = new Pen(Color.Black, 0);

			System.IO.MemoryStream ms = new System.IO.MemoryStream();
			image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
			Response.ClearContent();
			Response.ContentType = "image/jpeg";

			Response.BinaryWrite(ms.ToArray());
			Response.End();
			g.Dispose();
			image.Dispose();

		}

		public static string GetFilePath(string localPath)
		{
			if (System.Text.RegularExpressions.Regex.IsMatch(localPath, @"([A-Za-z]):\\([\S]*)"))
			{
				return localPath;
			}
			else
			{
				return System.Web.HttpContext.Current.Server.MapPath(localPath);
			}
		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.Load += new System.EventHandler(this.Page_Load);
		}
		#endregion
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?