domingo, 12 de julio de 2009

Uso básico de Graphics en .Net

Podemos utilizar las clases de System.Drawing para varias tareas. En esta estrada les voy a describir como sobre-escribir el rendering de un control o de un formulario.

El rendering en .Net se hace en un evento llamado Paint, el cual podemos sobre-escribir mediante el Método OnPaint que tiene como parámetro: PaintEventArgs que nos da a un objeto tipo Graphics como propiedad. Ésta clase Graphics es la que nos da los métodos necesarios para dibujar Lineas, Curvas, Elipses, Rectángulos, Texto, Imágenes y Polígonos.

Por ejemplo, supongamos que queremos dibujar un círculo en la pantalla quedaría algo así:

protected override void OnPaint(PaintEventArgs e)
{
     e.Graphics.DrawEllipse(Pens.Green, 0, 0, 100, 100);
}

Lo que hace el código anterior es dibujar un círculo verde de 100 pixels por 100 pixels en la esquina superior izquierda del formulario. El primer cero es la posición en X, el segundo en Y, el tercero el ancho y el segundo el alto, es decir, una elipse de 100 por 100. El resto de los métodos son iguales de sencillos. 

Graphics está diseñado para ser fácil de usar, pero eso no quiere decir que deja de perder su potencia.

De ésta misma manera puedes dibujar cualquier otra forma o texto.  Además también de poder limpiar el control usando e.Graphics.Clear(Color.Black)  y pasando como parámetro el color deseado.

Un problema bastante común es hacer una animación o algún tipo de efecto y al ejecutarlo se nota un parpadeo llamado Flicker, para resolver ésto la única forma es usando Doble Buffer, del cual les voy a hablar en la próxima entrada.


Como siempre, gracias por leer!

No hay comentarios:

Publicar un comentario