Canetas, linhas e retângulos em GDI+
Para desenhar linhas com GDI+, você precisa criar um objeto Graphics e um objeto Pen. O objeto Graphics fornece os métodos que realmente fazem o desenho, e o objeto Pen armazena atributos, como cor, largura e estilo da linha.
Desenhando uma linha
Para desenhar uma linha, chame o método DrawLine do objeto Graphics. O objeto Pen é passado como um dos argumentos para o método DrawLine. O exemplo a seguir traça uma linha do ponto (4, 2) para o ponto (12, 6):
myGraphics.DrawLine(myPen, 4, 2, 12, 6);
myGraphics.DrawLine(myPen, 4, 2, 12, 6)
DrawLine é um método sobrecarregado da classe Graphics, portanto, há várias maneiras de fornecê-lo com argumentos. Por exemplo, você pode construir dois objetos Point e passar os objetos Point como argumentos para o método DrawLine:
Point myStartPoint = new Point(4, 2);
Point myEndPoint = new Point(12, 6);
myGraphics.DrawLine(myPen, myStartPoint, myEndPoint);
Dim myStartPoint As New Point(4, 2)
Dim myEndPoint As New Point(12, 6)
myGraphics.DrawLine(myPen, myStartPoint, myEndPoint)
Construção de uma caneta
Você pode especificar determinados atributos ao construir um objeto Pen. Por exemplo, um construtor Pen
permite especificar cor e largura. O exemplo a seguir desenha uma linha azul de largura 2 de (0, 0) a (60, 30):
Pen myPen = new Pen(Color.Blue, 2);
myGraphics.DrawLine(myPen, 0, 0, 60, 30);
Dim myPen As New Pen(Color.Blue, 2)
myGraphics.DrawLine(myPen, 0, 0, 60, 30)
Linhas tracejadas e tampas de linha
O objeto Pen também expõe propriedades, como DashStyle, que você pode usar para especificar recursos da linha. O exemplo a seguir desenha uma linha tracejada 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)
Você pode usar as propriedades do objeto Pen para definir muitos mais atributos da linha. As propriedades StartCap e EndCap especificam a aparência das extremidades da linha; As extremidades podem ser planas, quadradas, arredondadas, triangulares ou uma forma personalizada. A propriedade LineJoin permite especificar se as linhas conectadas são miteradas (unidas com cantos nítidos), chanfradas, arredondadas ou cortadas. A ilustração a seguir mostra linhas com vários estilos de tampa e junção.
Desenho de um retângulo
Desenhar retângulos com GDI+ é semelhante a desenhar linhas. Para desenhar um retângulo, você precisa de um objeto Graphics e um objeto Pen. O objeto Graphics fornece um método DrawRectangle e o objeto Pen armazena atributos, como largura da linha e cor. O objeto Pen é passado como um dos argumentos para o método DrawRectangle. O exemplo a seguir desenha um retângulo com seu canto superior esquerdo em (100, 50), uma largura de 80 e uma altura de 40:
myGraphics.DrawRectangle(myPen, 100, 50, 80, 40);
myGraphics.DrawRectangle(myPen, 100, 50, 80, 40)
DrawRectangle é um método sobrecarregado da classe Graphics, portanto, há várias maneiras de fornecê-lo com argumentos. Por exemplo, você pode construir um objeto Rectangle e passar o objeto Rectangle para o método DrawRectangle como um argumento:
Rectangle myRectangle = new Rectangle(100, 50, 80, 40);
myGraphics.DrawRectangle(myPen, myRectangle);
Dim myRectangle As New Rectangle(100, 50, 80, 40)
myGraphics.DrawRectangle(myPen, myRectangle)
Um objeto Rectangle tem métodos e propriedades para manipular e coletar informações sobre o retângulo. Por exemplo, os métodos Inflate e Offset alteram o tamanho e a posição do retângulo. O método IntersectsWith informa se o retângulo cruza outro determinado retângulo, e o método Contains informa se um determinado ponto está dentro do retângulo.
Ver também
.NET Desktop feedback