Share via


GraphicsPath.GetBounds Método

Definição

Retorna um retângulo que circunda esse GraphicsPath.

Sobrecargas

GetBounds()

Retorna um retângulo que circunda esse GraphicsPath.

GetBounds(Matrix)

Retorna um retângulo que delimita este GraphicsPath quando este caminho é transformado pelo Matrix especificado.

GetBounds(Matrix, Pen)

Retorna um retângulo que delimita este GraphicsPath quando o caminho atual é transformado pelo Matrix especificado e desenhado com a Pen especificada.

GetBounds()

Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs

Retorna um retângulo que circunda esse GraphicsPath.

public:
 System::Drawing::RectangleF GetBounds();
public System.Drawing.RectangleF GetBounds ();
member this.GetBounds : unit -> System.Drawing.RectangleF
Public Function GetBounds () As RectangleF

Retornos

Um RectangleF que representa um retângulo que circunda esse GraphicsPath.

Exemplos

O exemplo de código a seguir foi projetado para uso com Windows Forms e requer PaintEventArgse, um OnPaint objeto de evento. O código executa as seguintes ações:

  • Cria um caminho gráfico.

  • Adiciona uma elipse (círculo) a ela e a desenha para a tela.

  • Recupera o retângulo delimitador do círculo com uma chamada para GetBounds e desenha o retângulo para a tela.

  • Cria um segundo caminho gráfico.

  • Adiciona um círculo e amplia o caminho para uma largura de 10.

  • Desenha o caminho para a tela.

  • Recupera o retângulo delimitador para o segundo círculo.

  • Desenha o retângulo delimitador para a tela.

  • Exibe o tamanho do retângulo em uma caixa de diálogo.

Observe que o retângulo delimitador à direita é maior (para considerar a largura extra da linha).

public:
   void GetBoundsExample( PaintEventArgs^ e )
   {
      // Create path number 1 and a Pen for drawing.
      GraphicsPath^ myPath = gcnew GraphicsPath;
      Pen^ pathPen = gcnew Pen( Color::Black,1.0f );

      // Add an Ellipse to the path and Draw it (circle in start
      // position).
      myPath->AddEllipse( 20, 20, 100, 100 );
      e->Graphics->DrawPath( pathPen, myPath );

      // Get the path bounds for Path number 1 and draw them.
      RectangleF boundRect = myPath->GetBounds();
      e->Graphics->DrawRectangle( gcnew Pen( Color::Red,1.0f ), boundRect.X, boundRect.Y, boundRect.Height, boundRect.Width );

      // Create a second graphics path and a wider Pen.
      GraphicsPath^ myPath2 = gcnew GraphicsPath;
      Pen^ pathPen2 = gcnew Pen( Color::Black,10.0f );

      // Create a new ellipse with a width of 10.
      myPath2->AddEllipse( 150, 20, 100, 100 );
      myPath2->Widen( pathPen2 );
      e->Graphics->FillPath( Brushes::Black, myPath2 );

      // Get the second path bounds.
      RectangleF boundRect2 = myPath2->GetBounds();

      // Draw the bounding rectangle.
      e->Graphics->DrawRectangle( gcnew Pen( Color::Red,1.0f ), boundRect2.X, boundRect2.Y, boundRect2.Height, boundRect2.Width );

      // Display the rectangle size.
      MessageBox::Show( boundRect2.ToString() );
   }
public void GetBoundsExample(PaintEventArgs e)
{
             
    // Create path number 1 and a Pen for drawing.
    GraphicsPath myPath = new GraphicsPath();
    Pen pathPen = new Pen(Color.Black, 1);
             
    // Add an Ellipse to the path and Draw it (circle in start
             
    // position).
    myPath.AddEllipse(20, 20, 100, 100);
    e.Graphics.DrawPath(pathPen, myPath);
             
    // Get the path bounds for Path number 1 and draw them.
    RectangleF boundRect = myPath.GetBounds();
    e.Graphics.DrawRectangle(new Pen(Color.Red, 1),
        boundRect.X,
        boundRect.Y,
        boundRect.Height,
        boundRect.Width);
             
    // Create a second graphics path and a wider Pen.
    GraphicsPath myPath2 = new GraphicsPath();
    Pen pathPen2 = new Pen(Color.Black, 10);
             
    // Create a new ellipse with a width of 10.
    myPath2.AddEllipse(150, 20, 100, 100);
    myPath2.Widen(pathPen2);
    e.Graphics.FillPath(Brushes.Black, myPath2);
             
    // Get the second path bounds.
    RectangleF boundRect2 = myPath2.GetBounds();
             
    // Draw the bounding rectangle.
    e.Graphics.DrawRectangle(new Pen(Color.Red, 1),
        boundRect2.X,
        boundRect2.Y,
        boundRect2.Height,
        boundRect2.Width);
             
    // Display the rectangle size.
    MessageBox.Show(boundRect2.ToString());
}
Public Sub GetBoundsExample(ByVal e As PaintEventArgs)

    ' Create path number 1 and a Pen for drawing.
    Dim myPath As New GraphicsPath
    Dim pathPen As New Pen(Color.Black, 1)

    ' Add an Ellipse to the path and Draw it (circle in start

    ' position).
    myPath.AddEllipse(20, 20, 100, 100)
    e.Graphics.DrawPath(pathPen, myPath)

    ' Get the path bounds for Path number 1 and draw them.
    Dim boundRect As RectangleF = myPath.GetBounds()
    e.Graphics.DrawRectangle(New Pen(Color.Red, 1), boundRect.X, _
    boundRect.Y, boundRect.Height, boundRect.Width)

    ' Create a second graphics path and a wider Pen.
    Dim myPath2 As New GraphicsPath
    Dim pathPen2 As New Pen(Color.Black, 10)

    ' Create a new ellipse with a width of 10.
    myPath2.AddEllipse(150, 20, 100, 100)
    myPath2.Widen(pathPen2)
    e.Graphics.FillPath(Brushes.Black, myPath2)

    ' Get the second path bounds.
    Dim boundRect2 As RectangleF = myPath2.GetBounds()

    ' Show the bounds in a message box.
    e.Graphics.DrawString("Rectangle2 Bounds: " + _
    boundRect2.ToString(), New Font("Arial", 8), Brushes.Black, _
    20, 150)

    ' Draw the bounding rectangle.
    e.Graphics.DrawRectangle(New Pen(Color.Red, 1), boundRect2.X, _
    boundRect2.Y, boundRect2.Height, boundRect2.Width)
End Sub

Comentários

O tamanho do retângulo delimitador retornado é influenciado pelo tipo de tampas finais, largura da caneta e limite da caneta e, portanto, produz um "ajuste solto" para o caminho delimitado. A fórmula aproximada é: o retângulo delimitador inicial é inflado pela largura da caneta e esse resultado é multiplicado pelo limite do miter, além de alguma margem adicional para permitir limites finais.

Aplica-se a

GetBounds(Matrix)

Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs

Retorna um retângulo que delimita este GraphicsPath quando este caminho é transformado pelo Matrix especificado.

public:
 System::Drawing::RectangleF GetBounds(System::Drawing::Drawing2D::Matrix ^ matrix);
public System.Drawing.RectangleF GetBounds (System.Drawing.Drawing2D.Matrix matrix);
public System.Drawing.RectangleF GetBounds (System.Drawing.Drawing2D.Matrix? matrix);
member this.GetBounds : System.Drawing.Drawing2D.Matrix -> System.Drawing.RectangleF
Public Function GetBounds (matrix As Matrix) As RectangleF

Parâmetros

matrix
Matrix

O Matrix que especifica uma transformação a ser aplicada a esse caminho antes do retângulo delimitador ser calculado. Esse caminho não é transformado permanentemente; a transformação é usada somente durante o processo de cálculo do retângulo delimitador.

Retornos

Um RectangleF que representa um retângulo que circunda esse GraphicsPath.

Exemplos

Para ver um exemplo, consulte GetBounds().

Comentários

O tamanho do retângulo delimitador retornado é influenciado pelo tipo de tampas finais, largura da caneta e limite da caneta e, portanto, produz um "ajuste solto" para o caminho delimitado. A fórmula aproximada é: o retângulo delimitador inicial é inflado pela largura da caneta e esse resultado é multiplicado pelo limite do miter, além de alguma margem adicional para permitir limites finais.

Aplica-se a

GetBounds(Matrix, Pen)

Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs

Retorna um retângulo que delimita este GraphicsPath quando o caminho atual é transformado pelo Matrix especificado e desenhado com a Pen especificada.

public:
 System::Drawing::RectangleF GetBounds(System::Drawing::Drawing2D::Matrix ^ matrix, System::Drawing::Pen ^ pen);
public System.Drawing.RectangleF GetBounds (System.Drawing.Drawing2D.Matrix matrix, System.Drawing.Pen pen);
public System.Drawing.RectangleF GetBounds (System.Drawing.Drawing2D.Matrix? matrix, System.Drawing.Pen? pen);
member this.GetBounds : System.Drawing.Drawing2D.Matrix * System.Drawing.Pen -> System.Drawing.RectangleF
Public Function GetBounds (matrix As Matrix, pen As Pen) As RectangleF

Parâmetros

matrix
Matrix

O Matrix que especifica uma transformação a ser aplicada a esse caminho antes do retângulo delimitador ser calculado. Esse caminho não é transformado permanentemente; a transformação é usada somente durante o processo de cálculo do retângulo delimitador.

pen
Pen

A Pen com a qual desenhar o GraphicsPath.

Retornos

Um RectangleF que representa um retângulo que circunda esse GraphicsPath.

Exemplos

Para ver um exemplo, consulte GetBounds().

Comentários

O tamanho do retângulo delimitador retornado é influenciado pelo tipo de tampas finais, largura da caneta e limite da caneta e, portanto, produz um "ajuste solto" para o caminho delimitado. A fórmula aproximada é: o retângulo delimitador inicial é inflado pela largura da caneta e esse resultado é multiplicado pelo limite do miter, além de alguma margem adicional para permitir limites finais.

Aplica-se a