Partilhar via


Elipses e Arcos em GDI+

Você pode facilmente desenhar elipses e arcos usando os métodos DrawEllipse e DrawArc da classe Graphics.

Desenhando uma elipse

Para desenhar uma elipse, você precisa de um objeto Graphics e um objeto Pen. O objeto Graphics fornece o método DrawEllipse e o objeto Pen armazena atributos, como largura e cor, da linha usada para renderizar a elipse. O objeto Pen é passado como um dos argumentos para o método DrawEllipse. Os argumentos restantes passados para o método DrawEllipse especificam o retângulo delimitador para a elipse. A ilustração a seguir mostra uma elipse junto com seu retângulo delimitador.

Captura de ecrã de uma elipse rodeada pelo seu retângulo delimitador.

O exemplo a seguir desenha uma elipse; O retângulo delimitador tem uma largura de 80, uma altura de 40 e um canto superior esquerdo de (100, 50):

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

DrawEllipse é um método sobrecarregado da classe Graphics, portanto, há várias maneiras de fornecê-lo com argumentos. Por exemplo, você pode construir um Rectangle e passar o Rectangle para o método DrawEllipse como um argumento:

Rectangle myRectangle = new Rectangle(100, 50, 80, 40);
myGraphics.DrawEllipse(myPen, myRectangle);
Dim myRectangle As New Rectangle(100, 50, 80, 40)
myGraphics.DrawEllipse(myPen, myRectangle)

Desenhando um arco

Um arco é uma porção de uma elipse. Para desenhar um arco, você chama o método DrawArc da classe Graphics. Os parâmetros do método DrawArc são os mesmos que os parâmetros do método DrawEllipse, exceto que DrawArc requer um ângulo inicial e um ângulo de varredura. O exemplo a seguir desenha um arco com um ângulo inicial de 30 graus e um ângulo de varredura de 180 graus:

myGraphics.DrawArc(myPen, 100, 50, 140, 70, 30, 180);
myGraphics.DrawArc(myPen, 100, 50, 140, 70, 30, 180)

A ilustração a seguir mostra o arco, a elipse e o retângulo delimitador.

Captura de tela de uma elipse com um arco e seu retângulo delimitador.

Ver também