Cree una nueva página image.aspx y agregue el espacio de nombres:
usando System.Drawing.Imaging;
usando System.IO
Luego copie el siguiente código en el evento Page_load:
//Genere un código de verificación de 4 dígitos;
cadena tmp = RndNum(4);
HttpCookie a = nueva HttpCookie("ImagenV",tmp);
Respuesta.Cookies.Agregar(a);
this.ValidateCode(tmp);
A continuación, agregue dos métodos a la página:
private void ValidateCode(string VNum)
{
Imagen de mapa de bits = nulo;
Gráficos g=nulo;
MemoryStream ms=null;
int gheight=VNum.Longitud*12;
Img=nuevo mapa de bits(gheight,25);
g=Gráficos.FromImage(Img);
//color de fondo
g.Claro(Color.Blanco);
//Fuente del texto
Fuente f=nueva fuente("Arial Black",10);
//color del texto
SolidBrush s=nuevo SolidBrush(Color.Negro);
g.DrawString(VNum,f,s,3,3);
ms=nuevo flujo de memoria();
Img.Save(ms,ImageFormat.Jpeg);
Respuesta.ClearContent();
Response.ContentType="imagen/Jpeg";
Respuesta.BinaryWrite(ms.ToArray());
g.Dispose();
Img.Dispose();
Respuesta.End();
}
cadena privada RndNum(int VcodeNum)
{
cadena Vchar="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";
string[] VcArray=Vchar.Split(new Char [] {','});
cadena VNum="";
int temp=-1;
Aleatorio rand=nuevo Aleatorio();
para(int i=1;i<VcodeNum+1;i++)
{
si(temperatura!=-1)
{
rand=new Aleatorio(i*temp*unchecked((int)DateTime.Now.Ticks));
}
int t=rand.Siguiente(35);
si(temp!=-1&&temp==t)
{
devolver RndNum(VcodeNum);
}
temperatura=t;
VNum+=VcArray[t];
}
devolver número V;
}
Si desea generar un código de verificación en la página a.aspx, agregue un control de imagen a la página, suponiendo que se llame: ImageButton1, y luego escriba el siguiente código en el evento page_Load:
ImageButton1.ImageUrl = "image.aspx"
Deesta
manera puede generar El código de verificación proporcionado. La página image.aspx se puede colocar en cualquier lugar, pero tenga en cuenta que ImageButton1.ImageUrl debe escribirse correctamente en el mismo nivel. escribe ../image.aspx. Es muy conveniente.