Compartir a través de


Lápices, líneas y rectángulos en GDI+

Para dibujar líneas con GDI+ necesita crear un objeto Graphics y un objeto Pen. El objeto Graphics proporciona los métodos que realmente realizan el dibujo, y el objeto Pen almacena atributos como el estilo, el ancho y el color de línea.

Dibujar una línea

Para dibujar una línea, llame al método DrawLine del objeto Graphics. El objeto Pen se pasa como uno de los argumentos del método DrawLine. En el siguiente ejemplo se dibuja una línea del punto (4, 2) al punto (12, 6):

        myGraphics.DrawLine(myPen, 4, 2, 12, 6)

myGraphics.DrawLine(myPen, 4, 2, 12, 6);

DrawLine es un método sobrecargado de la clase Graphics, por lo que existen varias formas de suministrar argumentos a dicho método. Por ejemplo, se pueden construir dos objetos Point y pasar dichos objetos Pointcomo argumentos al método DrawLine:

        Dim myStartPoint As New Point(4, 2)
        Dim myEndPoint As New Point(12, 6)
        myGraphics.DrawLine(myPen, myStartPoint, myEndPoint)

Point myStartPoint = new Point(4, 2);
Point myEndPoint = new Point(12, 6);
myGraphics.DrawLine(myPen, myStartPoint, myEndPoint);

Construir un lápiz

Cuando se construye un objeto Pen pueden especificarse ciertos atributos. Por ejemplo, un constructor Pen permite especificar el color y el ancho. En el siguiente ejemplo se dibuja una línea azul de ancho 2 de (0, 0) a (60, 30):

        Dim myPen As New Pen(Color.Blue, 2)
        myGraphics.DrawLine(myPen, 0, 0, 60, 30)

Pen myPen = new Pen(Color.Blue, 2);
myGraphics.DrawLine(myPen, 0, 0, 60, 30);

Líneas discontinuas y extremos de línea

El objeto Pen también expone propiedades, como DashStyle, que pueden utilizarse para especificar características de la línea. En el siguiente ejemplo se dibuja una línea discontinua de (100, 50) a (300, 80):

        myPen.DashStyle = DashStyle.Dash
        myGraphics.DrawLine(myPen, 100, 50, 300, 80)

myPen.DashStyle = DashStyle.Dash;
myGraphics.DrawLine(myPen, 100, 50, 300, 80);

Las propiedades del objeto Pen pueden utilizarse para establecer muchos más atributos de la línea. Las propiedades StartCap y EndCap especifican la apariencia de los extremos de la línea; los extremos pueden ser lisos, cuadrados, redondeados, triangulares o pueden tener una forma personalizada. La propiedad LineJoin permite especificar si las líneas conectadas están en ángulo (unidas con esquinas definidas), biseladas, redondeadas o recortadas. En la siguiente ilustración se muestran líneas con varios estilos de combinación y extremos.

Líneas

Dibujar un rectángulo

Dibujar rectángulos con GDI+ es parecido a dibujar líneas. Para dibujar un rectángulo son necesarios un objeto Graphics y un objeto Pen. El objeto Graphics proporciona un método DrawRectangle y el objeto Pen almacena atributos tales como el color y el ancho de línea. El objeto Pen se pasa como uno de los argumentos del método DrawRectangle. En el siguiente ejemplo se dibuja un rectángulo con la esquina superior izquierda en (100, 50), un ancho de 80 y un alto de 40:

        myGraphics.DrawRectangle(myPen, 100, 50, 80, 40)

myGraphics.DrawRectangle(myPen, 100, 50, 80, 40);

DrawRectangle es un método sobrecargado de la clase Graphics, por lo que existen varias formas de suministrar argumentos a dicho método. Por ejemplo, se puede construir un objeto Rectangle y pasar el objeto Rectangle como argumento al método DrawRectangle:

        Dim myRectangle As New Rectangle(100, 50, 80, 40)
        myGraphics.DrawRectangle(myPen, myRectangle)

Rectangle myRectangle = new Rectangle(100, 50, 80, 40);
myGraphics.DrawRectangle(myPen, myRectangle);

Un objeto Rectangle tiene métodos y propiedades para manipular y recopilar información sobre el rectángulo. Por ejemplo, los métodos Inflate y Offset cambian el tamaño y la posición del rectángulo. El método IntersectsWith indica si el rectángulo forma una intersección con otro rectángulo determinado y el método Contains indica si un punto determinado se encuentra dentro del rectángulo.

Vea también

Tareas

Cómo: Crear un lápiz

Cómo: Dibujar una línea en un formulario Windows Forms

Cómo: Dibujar una forma con contorno

Referencia

System.Drawing.Graphics

System.Drawing.Pen

System.Drawing.Rectangle