Código SMS del sitio web móvil
Cómo utilizar:
1. Agregue una clase al proyecto web, como "CreateImage.cs", y luego copie el código fuente que publiqué
<; p>2. Cree un nuevo formulario web como "Image.aspx" y agregue el código "CreateImage". DrawImage()" a Page_Load. ¡¡Por supuesto, no olvides agregar una referencia a esta clase!!3. Puedes agregar el siguiente código javascript a la ubicación adecuada de la página (donde quieras). para colocar el código de verificación
El código fuente es el siguiente:
[csharp] Ver texto sin formato
///
///Módulo de código de verificación
///
Clase pública CreateImage
{
Vacío estático público DrawImage() p>
{ p>
crear imagen img = nueva crear imagen();
HttpContext.session["verificar código"] = imgrnd num(4);
img.Image(HttpContext. Sesión actual ["CheckCode"]. ToString());
}
///
/// Generar imagen de verificación
p>///
///Caracteres de verificación
CreateImages nulo privado (código de verificación de cadena)
{
int iwidth = (int)(checkCode.length*13);
System.BitmapImage = new System.Bitmap(iwidth, 23);
Gráficos g = Gráficos. De Imagen (imagen);
g. Transparente (color. Blanco
//Definir color
Color[]c = { Color); . Rojo, color Verde, color. Marrón, color.
string【】font = {"verdana","Microsoft sans serif","Comic sans ms","Arial","Song Ti" };
Random rand = new Random();
//Ruido de salida aleatorio
for(int I = 0;i<50;i++)
{
int x = rand.next(imagen.ancho);
int y = rand.next(imagen.altura);
g.DrawRectangle(nueva pluma(color. Gris claro, 0), x, y, 1, 1);
}
//Emite caracteres del código de verificación en diferentes fuentes y colores.
for(int I = 0; i
{
int cindex = rand. next(7);
int findex = rand.Next(5);
Fuente f = nuevo sistema. fuente (fuente [findex], 10, sistema. dibujo. estilo de fuente. negrita
Flash b = nuevo); sistema.
dibujo pincel sólido (c【cindex】);
int ii = 4
if ((I+1)% 2 = = 0)
{
ii = 2;
}
g. Tirar de la cuerda (ver código. subcadena (I, 1), f, b, 3+ ( I * 12), ii);
}
//Dibuja el borde
g.DrawRectangle(new Pen(Color. Black, 0), 0, 0 imagen. Ancho - 1, altura de la imagen - 1);
//Salida al navegador
Sistema. IO .memorystreamms = nuevo sistema. IO.memorystream();
Imagen. Guardar (ms, sistema. dibujo. imagen. formato de imagen. JPEG);
HttpContext. respuesta actual. contenido claro();
//Respuesta. borrar contenido();
HttpContext. respuesta actual. tipo de contenido = "imagen/Jpeg";
HttpContext. respuesta actual. escritura binaria (ms. ToArray());
g.dispose(); dispose();
}
///
///Generar letras aleatorias
///
///Número de letras generadas
///Cadena
Cadena privada rnd num (int VcodeNum)
{
cadena Vchar = "0, 1, 2, 3, 4, 5, 6, 7, 8, 9";
cadena[]matriz VC = Vchar. Split(', ');
String VNum = ""; // Debido a que la cadena es corta, no se necesita StringBuilder.
int temp =-1; //Registra el último número aleatorio e intenta evitar generar varios números aleatorios idénticos.
//Utiliza un algoritmo simple para asegurar la diferencia de números aleatorios generados.
Rand aleatorio = new Random();
for(int I = 1;i<VcodeNum+1;i++)
{
if(temp!= -1)
{
rand = new Random(I *temp*unchecked((int)DateTime.now.Ticks));
}
int t = rand. next(VcArray.length);
if (temp!=-1&&temperature==t)
{
return rnd num (VcodeNum);
}
temp = t;
VNum+= matriz VC[t];
}
Devolver VNum
}
}