using
System;
using
System.Collections;
using
System.Configuration;
using
System.Data;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.HtmlControls;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Drawing;
using
System.Drawing.Imaging;
public
partial
class
Rnd : System.Web.UI.Page
{
private
int
codeLen = 5;
private
int
fineness = 100;
private
int
imgWidth = 65;
private
int
imgHeight = 20;
private
string
fontFamily =
"Roman"
;
private
int
fontSize = 12;
private
Random random =
new
Random();
protected
void
Page_Load(
object
sender, EventArgs e)
{
string
validateCode = CreateValidateCode();
Session[
"RandomNumber"
] = validateCode;
Bitmap bitmap =
new
Bitmap(imgWidth, imgHeight);
DisturbBitmap(bitmap);
DrawValidateCode(bitmap, validateCode);
bitmap.Save(Response.OutputStream, ImageFormat.Gif);
}
private
string
CreateValidateCode()
{
string
validateCode =
""
;
for
(
int
i = 0; i < codeLen; i++)
{
int
n = random.Next(10);
validateCode += n.ToString();
}
return
validateCode;
}
private
void
DisturbBitmap(Bitmap bitmap)
{
for
(
int
i = 0; i < bitmap.Width; i++)
{
for
(
int
j = 0; j < bitmap.Height; j++)
{
if
(random.Next(90) <=
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, FontStyle.Bold);
g.DrawString(validateCode, font, Brushes.Green, random.Next(-3, 11), random.Next(-4, 1));
}
}