Compartilhar via


Como: Criar figuras de linhas, curvas e formas

Para criar uma figura, construir um GraphicsPathe então chamar métodos, como AddLine e AddCurve, para adicionar os primitivos para o caminho.

Exemplo

Os exemplos de código a seguir criam caminhos que possuem figuras:

  • O primeiro exemplo cria um caminho de uma única figura. A Figura consiste em um único arco. O arco tem um ângulo sweep de – 180 graus, no sentido anti-horário no sistema de coordenadas padrão.

  • O segundo exemplo cria um caminho de duas figuras. A figura a primeira é um arco, seguido por uma linha. A figura a segunda é uma linha, seguida de uma curva, seguida por uma linha. A primeira figura será deixada aberta, e a segunda figura é fechada.

        Dim path As New GraphicsPath()
        path.AddArc(175, 50, 50, 50, 0, -180)
        e.Graphics.DrawPath(New Pen(Color.FromArgb(128, 255, 0, 0), 4), path)

GraphicsPath path = new GraphicsPath();
path.AddArc(175, 50, 50, 50, 0, -180);
e.Graphics.DrawPath(new Pen(Color.FromArgb(128, 255, 0, 0), 4), path);
        ' Create an array of points for the curve in the second figure.
        Dim points As Point() = { _
           New Point(40, 60), _
           New Point(50, 70), _
           New Point(30, 90)}

        Dim path As New GraphicsPath()

        path.StartFigure() ' Start the first figure.
        path.AddArc(175, 50, 50, 50, 0, -180)
        path.AddLine(100, 0, 250, 20)
        ' First figure is not closed.

        path.StartFigure() ' Start the second figure.
        path.AddLine(50, 20, 5, 90)
        path.AddCurve(points, 3)
        path.AddLine(50, 150, 150, 180)
        path.CloseFigure() ' Second figure is closed.
        e.Graphics.DrawPath(New Pen(Color.FromArgb(255, 255, 0, 0), 2), path)

     // Create an array of points for the curve in the second figure.
     Point[] points = {
new Point(40, 60),
new Point(50, 70),
new Point(30, 90)};

     GraphicsPath path = new GraphicsPath();

     path.StartFigure(); // Start the first figure.
     path.AddArc(175, 50, 50, 50, 0, -180);
     path.AddLine(100, 0, 250, 20);
     // First figure is not closed.

     path.StartFigure(); // Start the second figure.
     path.AddLine(50, 20, 5, 90);
     path.AddCurve(points, 3);
     path.AddLine(50, 150, 150, 180);
     path.CloseFigure(); // Second figure is closed.

     e.Graphics.DrawPath(new Pen(Color.FromArgb(255, 255, 0, 0), 2), path);

Compilando o código

Os exemplos anteriores são projetados para uso com o Windows Forms e que precisam ter PaintEventArgs e, que é um parâmetro da Paint manipulador de eventos.

Consulte também

Referência

GraphicsPath

Outros recursos

Construindo e desenho de caminhos

Usando uma caneta para desenhar linhas e formas