Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Dibujando graficos Outline con .Net

Iniciado por XÑA, 13 de Agosto de 2010, 05:31:54 PM

« anterior - próximo »

XÑA

Necesitaba un método para dibujar Outlines, que seguro que más de una vez os ha pasado, y creo que he encontrado la manera ideal  :P

Gracias a Vicente, por supuesto, intento aprender las novedades del lenguaje que MS siempre intenta aportar, en lugar de continuar con lo que ya sé. Así que utilizando lambdas he conseguido ....¡EL METODO!


void DrawOutline(Graphics g, Brush brush, Brush outlineBrush, Action<Graphics,int,int,Brush> paintDelegate)
{
for (int ix = -1; ix <= 1; ix+=2)
{
for (int iy = -1; iy <= 1; iy+=2)
{
paintDelegate(g,ix,iy, outlineBrush);
}
}

paintDelegate(g,0,0, brush);
}


¿y cómo se utiliza? Bien, veamos un ejemplo:


// ¿Un Rectángulo relleno?
DrawOutline(g, colorHuella, Brushes.Black,
   (gr, ix, iy, brush) =>
      {
             gr.FillRectangle(brush, 50 + ix, 50 + iy, 20, 20);
      }
);

// ¿Texto?
DrawOutline(g, colorHuella, Brushes.Black,
   (gr, ix, iy, brush) =>
      {
             gr.DrawString("HOLA",Font,brush, 50 + ix, 50 + iy);
      }
);


¡Lo que quieras!  ;)


Vicente

Que bonitas son las lambdas :) (te puedes ahorrar las llaves de las lambdas si solo ocupan una línea ;))






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.