GraphicsPath.GetBounds Método

Definición

Devuelve un rectángulo que delimita este trazado GraphicsPath.Returns a rectangle that bounds this GraphicsPath.

Sobrecargas

GetBounds(Matrix)

Devuelve un rectángulo que delimita este trazado GraphicsPath cuando se transforma por la matriz Matrix especificada.Returns a rectangle that bounds this GraphicsPath when this path is transformed by the specified Matrix.

GetBounds(Matrix, Pen)

Devuelve un rectángulo que delimita este trazado GraphicsPath cuando el actual trazado se transforma por la matriz Matrix especificada y se dibuja con el Pen indicado.Returns a rectangle that bounds this GraphicsPath when the current path is transformed by the specified Matrix and drawn with the specified Pen.

GetBounds()

Devuelve un rectángulo que delimita este trazado GraphicsPath.Returns a rectangle that bounds this GraphicsPath.

GetBounds(Matrix)

Devuelve un rectángulo que delimita este trazado GraphicsPath cuando se transforma por la matriz Matrix especificada.Returns a rectangle that bounds this GraphicsPath when this path is transformed by the specified 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

Parámetros

matrix
Matrix

Matrix que especifica la transformación que se va a aplicar a este trazado antes de que se calcule el rectángulo delimitador.The Matrix that specifies a transformation to be applied to this path before the bounding rectangle is calculated. Este trazado no se transforma de manera permanente, se usa sólo durante el proceso de cálculo del rectángulo delimitador.This path is not permanently transformed; the transformation is used only during the process of calculating the bounding rectangle.

Devoluciones

RectangleF que representa un rectángulo que delimita este trazado GraphicsPath.A RectangleF that represents a rectangle that bounds this GraphicsPath.

Ejemplos

Para obtener un ejemplo, vea GetBounds().For an example, see GetBounds().

Comentarios

El tamaño del rectángulo delimitador devuelto se ve influenciado por el tipo de extremo, el ancho del lápiz y el límite del inglete del lápiz, y, por tanto, produce un "ajuste flexible" en la ruta de acceso enlazada.The size of the returned bounding rectangle is influenced by the type of end caps, pen width, and pen miter limit, and therefore produces a "loose fit" to the bounded path. La Fórmula aproximada es: el rectángulo delimitador inicial se infla con el ancho del lápiz y este resultado se multiplica por el límite angular, además de algún margen adicional para permitir extremos.The approximate formula is: the initial bounding rectangle is inflated by pen width, and this result is multiplied by the miter limit, plus some additional margin to allow for end caps.

GetBounds(Matrix, Pen)

Devuelve un rectángulo que delimita este trazado GraphicsPath cuando el actual trazado se transforma por la matriz Matrix especificada y se dibuja con el Pen indicado.Returns a rectangle that bounds this GraphicsPath when the current path is transformed by the specified Matrix and drawn with the specified 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

Parámetros

matrix
Matrix

Matrix que especifica la transformación que se va a aplicar a este trazado antes de que se calcule el rectángulo delimitador.The Matrix that specifies a transformation to be applied to this path before the bounding rectangle is calculated. Este trazado no se transforma de manera permanente, se usa sólo durante el proceso de cálculo del rectángulo delimitador.This path is not permanently transformed; the transformation is used only during the process of calculating the bounding rectangle.

pen
Pen

Pen con el que se va a dibujar el trazado GraphicsPath.The Pen with which to draw the GraphicsPath.

Devoluciones

RectangleF que representa un rectángulo que delimita este trazado GraphicsPath.A RectangleF that represents a rectangle that bounds this GraphicsPath.

Ejemplos

Para obtener un ejemplo, vea GetBounds().For an example, see GetBounds().

Comentarios

El tamaño del rectángulo delimitador devuelto se ve influenciado por el tipo de extremo, el ancho del lápiz y el límite del inglete del lápiz, y, por tanto, produce un "ajuste flexible" en la ruta de acceso enlazada.The size of the returned bounding rectangle is influenced by the type of end caps, pen width, and pen miter limit, and therefore produces a "loose fit" to the bounded path. La Fórmula aproximada es: el rectángulo delimitador inicial se infla con el ancho del lápiz y este resultado se multiplica por el límite angular, además de algún margen adicional para permitir extremos.The approximate formula is: the initial bounding rectangle is inflated by pen width, and this result is multiplied by the miter limit, plus some additional margin to allow for end caps.

GetBounds()

Devuelve un rectángulo que delimita este trazado GraphicsPath.Returns a rectangle that bounds this GraphicsPath.

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

Devoluciones

RectangleF que representa un rectángulo que delimita este trazado GraphicsPath.A RectangleF that represents a rectangle that bounds this GraphicsPath.

Ejemplos

El siguiente ejemplo de código está diseñado para su uso con Windows Forms y requiere PaintEventArgse, un objeto de evento de OnPaint.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, an OnPaint event object. El código realiza las siguientes acciones:The code performs the following actions:

  • Crea una ruta de acceso de gráficos.Creates a graphics path.

  • Agrega una elipse (círculo) y la dibuja en la pantalla.Adds an ellipse (circle) to it and draws it to the screen.

  • Recupera el rectángulo delimitador del círculo con una llamada a GetBounds y dibuja el rectángulo en la pantalla.Retrieves the bounding rectangle for the circle with a call to GetBounds and draws the rectangle to the screen.

  • Crea una segunda ruta de acceso de gráficos.Creates a second graphics path.

  • Agrega un círculo y amplía la ruta de acceso a un ancho de 10.Adds a circle and widens the path to a width of 10.

  • Dibuja la ruta de acceso a la pantalla.Draws the path to the screen.

  • Recupera el rectángulo delimitador del segundo círculo.Retrieves the bounding rectangle for the second circle.

  • Dibuja el rectángulo delimitador en la pantalla.Draws the bounding rectangle to the screen.

  • Muestra el tamaño del rectángulo en un cuadro de diálogo.Displays the rectangle size in a dialog box.

Observe que el rectángulo delimitador de la derecha es mayor (para tener en cuenta el ancho adicional de la línea).Notice that the bounding rectangle on the right is larger (to account for the extra width of the line).

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

Comentarios

El tamaño del rectángulo delimitador devuelto se ve influenciado por el tipo de extremo, el ancho del lápiz y el límite del inglete del lápiz, y, por tanto, produce un "ajuste flexible" en la ruta de acceso enlazada.The size of the returned bounding rectangle is influenced by the type of end caps, pen width, and pen miter limit, and therefore produces a "loose fit" to the bounded path. La Fórmula aproximada es: el rectángulo delimitador inicial se infla con el ancho del lápiz y este resultado se multiplica por el límite angular, además de algún margen adicional para permitir extremos.The approximate formula is: the initial bounding rectangle is inflated by pen width, and this result is multiplied by the miter limit, plus some additional margin to allow for end caps.

Se aplica a