Make your own free website on Tripod.com
using System;
using System.Drawing.Drawing2D;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

class poligono :Form
{
public static void Main()
{
Application.Run(new poligono());

}

public poligono()
{

Text="Trazo y Relleno de poligono";
BackColor=SystemColors.Window;
ForeColor=SystemColors.WindowText;

}


protected override void OnPaint(PaintEventArgs e)
{

Graphics grfx = e.Graphics;
Pen pen=new Pen(ForeColor);
Brush brocha=new SolidBrush(System.Drawing.Color.BurlyWood);
Point[] vertices=new Point[5];
vertices[0].X=20;
vertices[0].Y=20;

vertices[1].X=100;
vertices[1].Y=20;

vertices[2].X=100;
vertices[2].Y=80;

vertices[3].X=20;
vertices[3].Y=80;

vertices[4].X=50;
vertices[4].Y=50;

/*grfx.DrawLine(pen,vertices[0].X,vertices[0].Y,vertices[1].X,vertices[1].Y);

grfx.DrawLine(pen,vertices[1].X,vertices[1].Y,vertices[2].X,vertices[2].Y);

grfx.DrawLine(pen,vertices[2].X,vertices[2].Y,vertices[3].X,vertices[3].Y);

grfx.DrawLine(pen,vertices[3].X,vertices[3].Y,vertices[4].X,vertices[4].Y);

grfx.DrawLine(pen,vertices[4].X,vertices[4].Y,vertices[0].X,vertices[0].Y);

*/
grfx.DrawPolygon(pen,vertices);
grfx.FillPolygon(brocha,vertices);
}


}

Para el trazo de poligonos se necesita crea un arreglo de puntos donde los puntos en este caso vienen siendo los vertices de la figura geometrica y se crea el arreglo segun los vertices de la figura, por ejemplo si se va a trazar un pentagono se necesitara un arreglo de 5, o sea, "Point []vertices = new Point[5]", y despues se pasa a la definicion de los vertices en cada arreglo-punto y por ultimo se pinta. Para que este sea rellenado se necesita el método grfx.FillPolygon la cual toma como argumento el objeto brocha y los vertices para que la instruccion tenga delimitada la zona a rellenar.