public static beCaptcha crearCaptcha(int ancho, int alto, string fuenteTipo, int fuenteTamaño) { beCaptcha obeCaptcha = new beCaptcha(); Bitmap bmp = new Bitmap(ancho, alto); Graphics grafico = Graphics.FromImage(bmp); Rectangle rect = new Rectangle(0, 0, ancho, alto); LinearGradientBrush deg = new LinearGradientBrush(rect, Color.Aqua, Color.Blue, LinearGradientMode.BackwardDiagonal); grafico.FillRectangle(deg, rect); StringBuilder sb = new StringBuilder(); for (int i = 0; i < 5; i++) { sb.Append(generarCaracterAzar()); } grafico.DrawString(sb.ToString(), new Font(fuenteTipo, fuenteTamaño), Brushes.White, 5, 10); for (int i = 0; i < 10; i++) { grafico.DrawLine(new Pen(Brushes.Yellow, 2), new Point(oAzar.Next(ancho), oAzar.Next(alto)), new Point(oAzar.Next(ancho), oAzar.Next(alto))); } obeCaptcha.Codigo = sb.ToString(); byte[] captcha; using (MemoryStream ms = new MemoryStream()) { bmp.Save(ms, ImageFormat.Jpeg); captcha = ms.ToArray(); } obeCaptcha.Imagen = captcha; return (obeCaptcha); }
public string captcha() { string rpta = ""; beCaptcha obeCaptcha = Captcha.Crear(); if (obeCaptcha.Imagen != null && obeCaptcha.Imagen.Length > 0) { TempData["captcha"] = obeCaptcha.Codigo; rpta = Convert.ToBase64String(obeCaptcha.Imagen); } return(rpta); }
public static beCaptcha CrearCaptcha() { beCaptcha obeCaptcha = new beCaptcha(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < 5; i++) { sb.Append(generarCaracterAzar()); } obeCaptcha.Codigo = sb.ToString(); Rectangle rec = new Rectangle(0, 0, 200, 80); Bitmap bmp = new Bitmap(200, 80); Graphics grafico = Graphics.FromImage(bmp); LinearGradientBrush degradadado = new LinearGradientBrush(rec, Color.Aqua, Color.Blue, LinearGradientMode.BackwardDiagonal); grafico.FillRectangle(degradadado, rec); grafico.DrawString(sb.ToString(), new Font("Arial", 40), Brushes.White, 10, 10); using (MemoryStream ms = new MemoryStream()) { bmp.Save(ms, ImageFormat.Png); obeCaptcha.Imagen = ms.ToArray(); } return(obeCaptcha); }