Red de conocimiento informático - Computadora portátil - ¡Código de verificación de aleatorización de imágenes de asp.net (C#)! ¡Por favor no copie en Internet! ¡Para comprobar si tienes éxito!

¡Código de verificación de aleatorización de imágenes de asp.net (C#)! ¡Por favor no copie en Internet! ¡Para comprobar si tienes éxito!

Primero, cree un nuevo archivo: CreateImage.aspx

No es necesario escribir código internamente,

CreateImage.aspx.cs es el siguiente:

Usar sistema;

Usar System.

Usar System.Data;

Usar System.Drawing;

Usar System.Web;

Utilice System.SessionState;

Utilice System.Drawing.

usando System.Web.UI;

usando System.Web.UI.WebControls;

usando System.Web.UI.HtmlControls;

espacio de nombres CreateImage

{

///

/// Descripción resumida de CreateImage.

///

clase pública CreateImage: System.Web.UI.

{

protected void Page_Load( remitente del objeto, EventArgs e)

{

cadena checkCode = CreateCode(4);

//para validación

Sesión[" CheckCode"] = checkCode;

CreateImages( checkCode);

}

/*Generar código de verificación*

public string CreateCode ( int codeLength)

{

string so = "1,2,3,4,5,6,7,8,9,0,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,A,B,C,D , E,F,G,H,I,J,K,L,M,N,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";

cadena[] strArr=so.Split( ',');

código de cadena = ""

Aleatorio rand=new Aleatorio();

for (int i = 0; i < codeLength; i++)

{

code+=strArr[rand.Next(0, strArr.Length)];

p>

}

código de retorno;

}

/* Generar imágenes de verificación**

public void CreateImages( código de cadena)

{

Imagen de mapa de bits = nuevo mapa de bits(60, 20);

Gráficos g = Graphics.FromImage(imagen);

WebColorConverter ww=new WebColorConverter();

g .Clear((Color)ww.ConvertFromString("#FAE264"));

Aleatorio aleatorio = new Random()

//Dibuja la línea de ruido de fondo de la imagen

para (int i = 0; i < 12; i++)p>

{

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.LightGray), x1, y1, x2, y2);

}

Fuente fuente = nueva Fuente("Arial", 15, FontStyle.font, pincel, 0, 0);

// Dibuja el ruido de primer plano de la imagen

para (en

t i = 0; i < 10; i++)

{

int x = aleatorio.Siguiente(imagen.Width);

int y = aleatorio.Siguiente (imagen.Height);

image.SetPixel(x, y, Color.White);

}

// Dibuja la línea del borde de la imagen

g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1

); System.IO.MemoryStream ms = nuevo System.IO.MemoryStream();

image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif

Response.ClearContent); ()

Response.ContentType = "imagen/Gif"

Response.BinaryWrite(ms.ToArray());

Response.BinaryWrite(ms). .ToArray ())ToArray());

g.Dispose();

imagen.Dispose();

}

# Código generado por región Web Form Designer

anular protected void OnInit( EventArgs e)

{

//

// CODEGEN: esta llamada es requerida por el diseñador de formularios web ASP.NET.

//

InitializeComponent();

base.OnInit(e);

}

/ //

/// Designer admite los métodos requeridos; no use el editor de código para modificar

/// Requerido por ASP.NET Web Forms Designer El contenido de este método.

///

Private void InitializeComponent()

{

this.Load += new System.EventHandler (this.Page_Load);

}

#endregion

}

}

Después de eso, solo necesita completar la llamada

Por ejemplo, cree un nuevo WebForm1.aspx

<%@ Idioma de la página =" c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Hereda="CreateImage.WebForm1" %> ;