Protected void Page_Load(objeto remitente, EventArgs e
)
{
//先产生数字串
cadena checkCode = this.CreateRandomCode(6);
// sesión de sesión
Sesión["Código de verificación"] = Código de verificación;
//作图
CrearImagen(verificarCódigo);
}
CreateImage vacío privado (código de verificación de cadena)
{
Imagen System.Drawing.Bitmap = new System.Drawing.Bitmap(Convert.ToInt32(Math.Ceiling((decimal)(checkCode.Length * 14))), 22);
Gráficos g = Graphics.FromImage(imagen);
intentar
{
Aleatorio aleatorio = nuevo Aleatorio();
g.Claro(Color.AliceBlue);
para (int i = 0; i < 25; i++)
{
int x1 = aleatorio.Siguiente(imagen.Ancho);
int x2 = aleatorio.Siguiente(imagen.Ancho);
int y1 = aleatorio.Siguiente(imagen.Altura);
int y2 = aleatorio.Siguiente(imagen.Altura);
g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
}
Fuente fuente = new System.Drawing.Font("Comic Sans MS", 12, System.Drawing.FontStyle.Bold);
Pincel System.Drawing.Drawing2D.LinearGradientBrush = nuevo System.Drawing.Drawing2D.LinearGradientBrush (nuevo Rectángulo (0, 0, imagen.Ancho, imagen.Alto), Color.Azul, Color.DarkRed, 1.2f, verdadero);
g.DrawString(checkCode, fuente, nuevo SolidBrush(Color.Red), 2, 2);
para (int i = 0; i < 100; i++)
{
int x = aleatorio.Siguiente(imagen.Ancho);
int y = aleatorio.Siguiente(imagen.Altura);
image.SetPixel(x, y, Color.FromArgb(random.Next()));
}
g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);
System.IO.MemoryStream ms = nuevo System.IO.MemoryStream();
imagen.Guardar(ms, System.Drawing.Imaging.ImageFormat.Gif);
Respuesta.ClearContent();
Response.ContentType = "imagen/Gif";
Respuesta.BinaryWrite(ms.ToArray());
}
finalmente
{
g.Dispose();
imagen.Dispose();
}
}
cadena pública CreateRandomCode(int codeCount)
{
cadena allChar = "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";
cadena[] allCharArray = allChar.Split(',');
cadena código aleatorio = "";
temperatura interna = -1;
Rand aleatorio = nuevo Aleatorio();
para (int i = 0; i < codeCount; i++)
{
si (temperatura! = -1)
{
rand = nuevo Aleatorio(i * temp * ((int)DateTime.Now.Ticks));
}
int t = rand.Siguiente(36);
si (temperatura! = -1 && temperatura == t)
{
devolver CreateRandomCode(codeCount);
}
temperatura = t;
código aleatorio += allCharArray[t];
}
devolver código aleatorio;
}
http://www.cnblogs.com/jackyrong/archive/2006/08/25/486281.html