Compartilhar via


Canetas, linhas e retângulos em GDI +

Para desenhar linhas com GDI+ Você precisa criar um Graphics objeto e um Pen objeto. The Graphics objeto fornece métodos que realmente faz o desenho, e o Pen objeto armazena atributos, sistema autônomo cor, largura e estilo.

Desenhando uma linha

Para desenhar uma linha, chame o DrawLine método para o Graphics objeto. The Pen objeto é passado sistema autônomo um dos argumentos para o DrawLine método. O exemplo a seguir desenha uma linha do ponto (4, 2) até o ponto (12, 6):

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

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

DrawLine é um método sobrecarregado da Graphics classe, portanto não há várias maneiras, que ele poderá fornecer argumentos. Por exemplo, você pode criar dois Point objetos e passar a Point objetos sistema autônomo argumentos para o DrawLine método:

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);

Construindo uma caneta

Você pode especificar determinados atributos ao construir um Pen objeto. Por exemplo, um Pen construtor permite que você especifique a cor e largura. O exemplo a seguir desenha uma linha azul de largura de 2 de (0, 0) para (30, 60):

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);

Linhas tracejadas e CAPS de linha

The Pen objeto também expõe propriedades, sistema autônomo DashStyle, que você pode usar para especificar recursos da linha. O exemplo a seguir desenha uma linha tracejada de (100, 50) para (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 Pen objeto para conjunto muitas mais atributos da linha. The StartCap e EndCap as propriedades especificam a aparência das extremidades da linha de; extremidades podem ser simples, quadrada, arredondados, triangular, ou uma forma personalizada. The LineJoin propriedade permite que você especificar se linhas conectadas são mitered (associadas com cantos nítidos), chanfradas, arredondadas ou recortadas. A ilustração a seguir mostra as linhas com vários estilos de arremate e unir.

Um retângulo de desenho

Desenhar retângulos com GDI+ é semelhante ao desenho de linhas. Para desenhar um retângulo, é necessário um Graphics objeto e um Pen objeto. The Graphics objeto fornece uma DrawRectangle método e o Pen objeto armazena atributos, sistema autônomo largura da linha e cor. The Pen objeto é passado sistema autônomo um dos argumentos para o DrawRectangle método. 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 Graphics classe, portanto não há várias maneiras, que ele poderá fornecer argumentos. Por exemplo, você pode construir um Rectangle objeto e passar a Rectangle objeto para o DrawRectangle método sistema autônomo um argumento:

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);

A Rectangle objeto tem métodos e propriedades para manipular e reunir informações sobre o retângulo. Por exemplo, a Inflate e Offset métodos de alterar o dimensionar e posição do retângulo. The IntersectsWith método informa se o retângulo cruza outro dado retângulo e o Contains método informará se um determinado ponto está dentro do retângulo.

Consulte também

Tarefas

Como: Criar uma caneta

Como: Desenhar uma linha em um formulário do Windows

Como: Desenhar uma forma de contornada

Referência

System.Drawing.Graphics

System.Drawing.Pen

System.Drawing.Rectangle