GDI+ (Parte III) : FORMAS BÁSICAS

Este es otro de los muchos artículos que escribí para el www.elguille.info donde se detalla las formas básicas GDI+: PUNTO,LÍNEA, LA ESTRUCTURA RECTANGLE, ELIPSE, ARCO, POLÍGONO, CURVAS CARDINALES, LOADING ICONS, DRAWPIE, DRAWSTRING, MEASURESTRING, DRAWPATH.

Revisemos la manera de usar GDI++ para dibujar formas básicas como por ejemplo, puntos, líneas, rectángulos, círculos, elipses, y también algunas formas irregulares, todo esto será tratado en este CAPÍTULO III.

Nota: Todo las representaciones se hará sobre un objeto TextBox.

PUNTO

El punto es la forma más sencilla de crear, necesitando para ello dos valores tipo entero que representarán las coordenadas X y Y . El punto es el componente primitivo para dibujar cualquier otra forma, como por ejemplo: líneas, rectángulos, elipses... ahora vamos a crear un objeto punto.

      Dim myPoint As Point = New Point(130, 70)

La representación de un punto la haremos definiendo un círculo muy pequeño. Así:


Dim myPoint As Point = New Point(130, 170)
Dim myLapicero As New Pen(Color.Red, 1)
Me.TextBox1.CreateGraphics.DrawEllipse(myLapicero, New Rectangle(myPoint, New Size(1, 1)))

LÍNEA

Para representar una línea nesecitamos de un objeto Pen y dos puntos, las cuales serán unidas usando el método DrawLine. Ejemplo:


Dim myStartPoint As Point = New Point(130, 170)
Dim myEndPoint As Point = New Point(230, 270)
Dim myLapicero As New Pen(Color.Peru, 2)
Me.TextBox1.CreateGraphics.DrawLine(myLapicero, myStartPoint, myEndPoint)

Así como el método DrawLine nos ayuda a represeenta una línea, existe el método DrawLines que nos permite representar  línea quebradas, recibiendo como parámetros un objeto Pen y un array de puntos.  Ejemplo.

'creando el Pen
Dim myLapicero As New Pen(Color.Peru, 2)

'creando los puntos
Dim myStartPoint As Point = New Point(130, 170)
Dim myPoint2 As Point = New Point(130, 70)
Dim myPoint3 As Point = New Point(230, 170)
Dim myEndPoint As Point = New Point(230, 70)

'creo el array de puntos
Dim myArrayPoints() As Point = New Point() {myStartPoint, myPoint2, myPoint3, myEndPoint}

'representado la línea quebrada, quedando una letra N
Me.TextBox1.CreateGraphics.DrawLines(myLapicero, myArrayPoints)

Otro punto interesante de este artículo es la curva Bézier.

LA CURVA BÉZIER

Para representar una curva bézier usaremos el método DrawBezier la cual se define por cuatro estructuras Point. Una curva Bézier está compuesta por sus puntos inicial y final y dos puntos de control. La función de los puntos de control no es que la curva pase por ellos, sino influenciar su dirección. Lo veremos con un ejemplo. La línea de color azul es la curva Bézier. Cada punto de control está unido por una línea imaginaria con su punto: el primero, con el inicial de la curva, y el segundo con el final. Pues bien, la curva inicia su recorrido en la dirección de la primera línea imaginaria, pero, a medida que avanza, rectifica su dirección para adecuarse a la que le marca la segunda línea imaginaria. Para entender mejor la función de los puntos de control pues tómelo como si estos puntos jalarán en su dirección, tanto el punto inicial como el punto final,  generándo curvas forzadas dándole cierta inflexión a la recta. ¿entendió...?, espero que sí. Ejemplo:

Me.TextBox1.CreateGraphics.DrawBezier(New Pen(Color.Orange, 2), _
New Point(20, 50), New Point(80, 10), New Point(120, 175), New Point(200, 200))

 

Bueno, son algunos puntos que se tocan en este artículo, para más detalle vea el artículo original.

Percy Reyes.

Published 27/4/2007 19:56 por Percy Reyes
Comparte este post:
http://geeks.ms/blogs/ozonicco/archive/2007/04/27/gdi-parte-iii-formas-b-193-sicas.aspx