Compartilhar via


Elipses e arcos no GDI+

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

Desenhando uma elipse

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

Screenshot of an ellipse surrounded by its bounding rectangle.

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, portanto, há várias maneiras de Graphics fornecê-la com argumentos. Por exemplo, você pode construir um e passar o Rectangle para o DrawEllipse método como um Rectangle 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 parte de uma elipse. Para desenhar um arco, você chama o DrawArcGraphics método da classe. Os parâmetros do método são os mesmos que os DrawEllipse parâmetros do método, exceto que DrawArc requer um ângulo de DrawArc partida e ângulo de varredura. O exemplo a seguir desenha um arco com um ângulo inicial de 30 graus e um ângulo de flecha 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.

Screenshot of an ellipse with an arc and its bounding rectangle.

Confira também