//cs
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
//Drawing:制图 Imaging:成像
using System.Drawing.Imaging;
using System.IO;public partial class Public_ImageCode : System.Web.UI.Page
{
// 验证码长度
private int codeLen = 4;
// 图片清晰度
private int fineness = 85;
// 图片宽度
private int imgWidth = 55;
// 图片高度
private int imgHeight = 20;
// 字体家族名称
private string fontFamily = "Arial";//"Times New Roman",
// 字体大小
private int fontSize = 14;
// 字体样式
private int fontStyle = 3;
// 绘制起始坐标 X
private int posX = 2;
// 绘制起始坐标 Y
private int posY = 0; protected void Page_Load(object sender, EventArgs e)
{
#region 读取 Request 传递参数
// 获取代码长度设置
if (Request["CodeLen"] != null)
{
try
{
codeLen = Int32.Parse(Request["CodeLen"]); // 规定验证码长度
if (codeLen < 4 || codeLen > 16)
throw new Exception("验证码长度必须在4到16之间");
}
catch (Exception Ex)
{
throw Ex;
}
} // 获取图片清晰度设置
if (Request["Fineness"] != null)
{
try
{
fineness = Int32.Parse(Request["Fineness"]); // 验证清晰度
if (fineness < 0 || fineness > 100)
throw new Exception("图片清晰度必须在0到100之间");
}
catch (Exception Ex)
{
throw Ex;
}
} // 获取图片宽度
if (Request["ImgWidth"] != null)
{
try
{
imgWidth = Int32.Parse(Request["ImgWidth"]); if (imgWidth < 16 || imgWidth > 480)
throw new Exception("图片宽度必须在16到480之间");
}
catch (Exception Ex)
{
throw Ex;
}
} // 获取图片高度
if (Request["ImgHeight"] != null)
{
try
{
imgWidth = Int32.Parse(Request["ImgHeight"]); if (imgWidth < 16 || imgWidth > 320)
throw new Exception("图片高度必须在16到320之间");
}
catch (Exception Ex)
{
throw Ex;
}
} // 获取验证码字体家族名称
if (Request["FontFamily"] != null)
{
fontFamily = Request["FontFamily"];
} // 获取验证码字体大小
if (Request["FontSize"] != null)
{
try
{
fontSize = Int32.Parse(Request["FontSize"]); if (fontSize < 8 || fontSize > 72)
throw new Exception("字体大小必须在8到72之间");
}
catch (Exception Ex)
{
throw Ex;
}
} // 获取字体样式
if (Request["FontStyle"] != null)
{
try
{
fontStyle = Int32.Parse(Request["FontStyle"]);
}
catch (Exception Ex)
{
throw Ex;
}
} // 验证码绘制起始位置 X
if (Request["PosX"] != null)
{
try
{
posX = Int32.Parse(Request["PosX"]);
}
catch (Exception Ex)
{
throw Ex;
}
} // 验证码绘制起始位置 Y
if (Request["PosY"] != null)
{
try
{
posY = Int32.Parse(Request["PosY"]);
}
catch (Exception Ex)
{
throw Ex;
}
}
#endregion string validateCode = CreateValidateCode(); // 生成BITMAP图像
Bitmap bitmap = new Bitmap(imgWidth, imgHeight); // 给图像设置干扰
DisturbBitmap(bitmap); // 绘制验证码图像
DrawValidateCode(bitmap, validateCode); // 保存验证码图像,等待输出
bitmap.Save(Response.OutputStream, ImageFormat.Gif);
} //------------------------------------------------------------
// 随机生成验证码并生成Session
//------------------------------------------------------------
private string CreateValidateCode()
{
string validateCode = ""; // 随机数对象
Random random = new Random();
for (int i = 0; i < codeLen; i++)
{
// 26: a - z
//int n=random.Next(26);
int n = random.Next(10); // 将数字转换成大写字母
validateCode += (char)(n + 48);
//validateCode += (char)(n+97);
}
//生成Session["ImageCode"]
Session["ImageCode"] = validateCode; return validateCode;
} //------------------------------------------------------------
// 为图片设置干扰点
//------------------------------------------------------------
private void DisturbBitmap(Bitmap bitmap)
{
// 通过随机数生成
Random random = new Random(); for (int i = 0; i < bitmap.Width; i++)
{
for (int j = 0; j < bitmap.Height; j++)
{
if (random.Next(100) <= this.fineness)
bitmap.SetPixel(i, j, Color.White);
}
}
} //------------------------------------------------------------
// 绘制验证码图片
//------------------------------------------------------------
private void DrawValidateCode(Bitmap bitmap, string validateCode)
{
// 获取绘制器对象
Graphics g = Graphics.FromImage(bitmap); // 设置绘制字体
Font font = new Font(fontFamily, fontSize, GetFontStyle()); // 绘制验证码图像
g.DrawString(validateCode, font, Brushes.Black, posX, posY);
} //------------------------------------------------------------
// 换算验证码字体样式:1 粗体 2 斜体 3 粗斜体,默认为普通字体
//------------------------------------------------------------
private FontStyle GetFontStyle()
{
if (fontStyle == 1)
return FontStyle.Bold;
else if (fontStyle == 2)
return FontStyle.Italic;
else if (fontStyle == 3)
return FontStyle.Bold | FontStyle.Italic;
else
return FontStyle.Regular;
}}//aspx<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ImageCode.aspx.cs" Inherits="Public_ImageCode" %><%
Response.Expires = 0;
Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
Response.AddHeader("pragma","no-cache");
Response.AddHeader("cache-control","private");
Response.CacheControl = "no-cache";
%>
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
//Drawing:制图 Imaging:成像
using System.Drawing.Imaging;
using System.IO;public partial class Public_ImageCode : System.Web.UI.Page
{
// 验证码长度
private int codeLen = 4;
// 图片清晰度
private int fineness = 85;
// 图片宽度
private int imgWidth = 55;
// 图片高度
private int imgHeight = 20;
// 字体家族名称
private string fontFamily = "Arial";//"Times New Roman",
// 字体大小
private int fontSize = 14;
// 字体样式
private int fontStyle = 3;
// 绘制起始坐标 X
private int posX = 2;
// 绘制起始坐标 Y
private int posY = 0; protected void Page_Load(object sender, EventArgs e)
{
#region 读取 Request 传递参数
// 获取代码长度设置
if (Request["CodeLen"] != null)
{
try
{
codeLen = Int32.Parse(Request["CodeLen"]); // 规定验证码长度
if (codeLen < 4 || codeLen > 16)
throw new Exception("验证码长度必须在4到16之间");
}
catch (Exception Ex)
{
throw Ex;
}
} // 获取图片清晰度设置
if (Request["Fineness"] != null)
{
try
{
fineness = Int32.Parse(Request["Fineness"]); // 验证清晰度
if (fineness < 0 || fineness > 100)
throw new Exception("图片清晰度必须在0到100之间");
}
catch (Exception Ex)
{
throw Ex;
}
} // 获取图片宽度
if (Request["ImgWidth"] != null)
{
try
{
imgWidth = Int32.Parse(Request["ImgWidth"]); if (imgWidth < 16 || imgWidth > 480)
throw new Exception("图片宽度必须在16到480之间");
}
catch (Exception Ex)
{
throw Ex;
}
} // 获取图片高度
if (Request["ImgHeight"] != null)
{
try
{
imgWidth = Int32.Parse(Request["ImgHeight"]); if (imgWidth < 16 || imgWidth > 320)
throw new Exception("图片高度必须在16到320之间");
}
catch (Exception Ex)
{
throw Ex;
}
} // 获取验证码字体家族名称
if (Request["FontFamily"] != null)
{
fontFamily = Request["FontFamily"];
} // 获取验证码字体大小
if (Request["FontSize"] != null)
{
try
{
fontSize = Int32.Parse(Request["FontSize"]); if (fontSize < 8 || fontSize > 72)
throw new Exception("字体大小必须在8到72之间");
}
catch (Exception Ex)
{
throw Ex;
}
} // 获取字体样式
if (Request["FontStyle"] != null)
{
try
{
fontStyle = Int32.Parse(Request["FontStyle"]);
}
catch (Exception Ex)
{
throw Ex;
}
} // 验证码绘制起始位置 X
if (Request["PosX"] != null)
{
try
{
posX = Int32.Parse(Request["PosX"]);
}
catch (Exception Ex)
{
throw Ex;
}
} // 验证码绘制起始位置 Y
if (Request["PosY"] != null)
{
try
{
posY = Int32.Parse(Request["PosY"]);
}
catch (Exception Ex)
{
throw Ex;
}
}
#endregion string validateCode = CreateValidateCode(); // 生成BITMAP图像
Bitmap bitmap = new Bitmap(imgWidth, imgHeight); // 给图像设置干扰
DisturbBitmap(bitmap); // 绘制验证码图像
DrawValidateCode(bitmap, validateCode); // 保存验证码图像,等待输出
bitmap.Save(Response.OutputStream, ImageFormat.Gif);
} //------------------------------------------------------------
// 随机生成验证码并生成Session
//------------------------------------------------------------
private string CreateValidateCode()
{
string validateCode = ""; // 随机数对象
Random random = new Random();
for (int i = 0; i < codeLen; i++)
{
// 26: a - z
//int n=random.Next(26);
int n = random.Next(10); // 将数字转换成大写字母
validateCode += (char)(n + 48);
//validateCode += (char)(n+97);
}
//生成Session["ImageCode"]
Session["ImageCode"] = validateCode; return validateCode;
} //------------------------------------------------------------
// 为图片设置干扰点
//------------------------------------------------------------
private void DisturbBitmap(Bitmap bitmap)
{
// 通过随机数生成
Random random = new Random(); for (int i = 0; i < bitmap.Width; i++)
{
for (int j = 0; j < bitmap.Height; j++)
{
if (random.Next(100) <= this.fineness)
bitmap.SetPixel(i, j, Color.White);
}
}
} //------------------------------------------------------------
// 绘制验证码图片
//------------------------------------------------------------
private void DrawValidateCode(Bitmap bitmap, string validateCode)
{
// 获取绘制器对象
Graphics g = Graphics.FromImage(bitmap); // 设置绘制字体
Font font = new Font(fontFamily, fontSize, GetFontStyle()); // 绘制验证码图像
g.DrawString(validateCode, font, Brushes.Black, posX, posY);
} //------------------------------------------------------------
// 换算验证码字体样式:1 粗体 2 斜体 3 粗斜体,默认为普通字体
//------------------------------------------------------------
private FontStyle GetFontStyle()
{
if (fontStyle == 1)
return FontStyle.Bold;
else if (fontStyle == 2)
return FontStyle.Italic;
else if (fontStyle == 3)
return FontStyle.Bold | FontStyle.Italic;
else
return FontStyle.Regular;
}}//aspx<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ImageCode.aspx.cs" Inherits="Public_ImageCode" %><%
Response.Expires = 0;
Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
Response.AddHeader("pragma","no-cache");
Response.AddHeader("cache-control","private");
Response.CacheControl = "no-cache";
%>
to ahywg:
不要叫我哥们`` 因为我不是男的`
这个博客里面有.