예제 #1
0
파일: ucImagen.cs 프로젝트: ecruzado/pcu
 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);
 }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }