Freigeben über


GraphicsPath.GetBounds Methode

Definition

Gibt ein Rechteck zurück, das diese GraphicsPathbegrenzt.

Überlädt

GetBounds()

Gibt ein Rechteck zurück, das diese GraphicsPathbegrenzt.

GetBounds(Matrix)

Gibt ein Rechteck zurück, das diesen GraphicsPath begrenzt, wenn dieser Pfad durch die angegebene Matrixtransformiert wird.

GetBounds(Matrix, Pen)

Gibt ein Rechteck zurück, das diese GraphicsPath begrenzt, wenn der aktuelle Pfad durch die angegebene Matrix transformiert und mit dem angegebenen Pengezeichnet wird.

GetBounds()

Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs

Gibt ein Rechteck zurück, das diese GraphicsPathbegrenzt.

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

Gibt zurück

Ein RectangleF, das ein Rechteck darstellt, das diese GraphicsPathbegrenzt.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, ein OnPaint-Ereignisobjekt. Der Code führt die folgenden Aktionen aus:

  • Erstellt einen Grafikpfad.

  • Fügt der Ellipse (Kreis) eine Ellipse hinzu und zeichnet sie auf dem Bildschirm.

  • Ruft das umgebende Rechteck für den Kreis mit einem Aufruf von GetBounds ab und zeichnet das Rechteck auf den Bildschirm.

  • Erstellt einen zweiten Grafikpfad.

  • Fügt einen Kreis hinzu und erweitert den Pfad auf eine Breite von 10.

  • Zeichnet den Pfad zum Bildschirm.

  • Ruft das umgebende Rechteck für den zweiten Kreis ab.

  • Zeichnet das umgebende Rechteck auf den Bildschirm.

  • Zeigt die Rechteckgröße in einem Dialogfeld an.

Beachten Sie, dass das umgebende Rechteck auf der rechten Seite größer ist (um die zusätzliche Breite der Linie zu berücksichtigen).

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

Hinweise

Die Größe des zurückgegebenen umgebenden Rechtecks wird durch den Typ von Endkappen, Stiftbreite und Stiftmilderbegrenzung beeinflusst und erzeugt daher eine "lose Passform" an den umgebenden Pfad. Die ungefähre Formel lautet: Das anfängliche Begrenzungsrechteck wird durch Stiftbreite aufgeblasen, und dieses Ergebnis wird mit dem Miter-Limit multipliziert, und einige zusätzliche Seitenränder, um Endkappen zuzulassen.

Gilt für:

GetBounds(Matrix)

Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs

Gibt ein Rechteck zurück, das diesen GraphicsPath begrenzt, wenn dieser Pfad durch die angegebene Matrixtransformiert wird.

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

Parameter

matrix
Matrix

Die Matrix, die eine Transformation angibt, die auf diesen Pfad angewendet werden soll, bevor das umgebende Rechteck berechnet wird. Dieser Pfad wird nicht dauerhaft transformiert; die Transformation wird nur während des Prozesses der Berechnung des umgebenden Rechtecks verwendet.

Gibt zurück

Ein RectangleF, das ein Rechteck darstellt, das diese GraphicsPathbegrenzt.

Beispiele

Ein Beispiel finden Sie unter GetBounds().

Hinweise

Die Größe des zurückgegebenen umgebenden Rechtecks wird durch den Typ von Endkappen, Stiftbreite und Stiftmilderbegrenzung beeinflusst und erzeugt daher eine "lose Passform" an den umgebenden Pfad. Die ungefähre Formel lautet: Das anfängliche Begrenzungsrechteck wird durch Stiftbreite aufgeblasen, und dieses Ergebnis wird mit dem Miter-Limit multipliziert, und einige zusätzliche Seitenränder, um Endkappen zuzulassen.

Gilt für:

GetBounds(Matrix, Pen)

Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs

Gibt ein Rechteck zurück, das diese GraphicsPath begrenzt, wenn der aktuelle Pfad durch die angegebene Matrix transformiert und mit dem angegebenen Pengezeichnet wird.

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

Parameter

matrix
Matrix

Die Matrix, die eine Transformation angibt, die auf diesen Pfad angewendet werden soll, bevor das umgebende Rechteck berechnet wird. Dieser Pfad wird nicht dauerhaft transformiert; die Transformation wird nur während des Prozesses der Berechnung des umgebenden Rechtecks verwendet.

pen
Pen

Die Pen, mit der die GraphicsPathgezeichnet werden soll.

Gibt zurück

Ein RectangleF, das ein Rechteck darstellt, das diese GraphicsPathbegrenzt.

Beispiele

Ein Beispiel finden Sie unter GetBounds().

Hinweise

Die Größe des zurückgegebenen umgebenden Rechtecks wird durch den Typ von Endkappen, Stiftbreite und Stiftmilderbegrenzung beeinflusst und erzeugt daher eine "lose Passform" an den umgebenden Pfad. Die ungefähre Formel lautet: Das anfängliche Begrenzungsrechteck wird durch Stiftbreite aufgeblasen, und dieses Ergebnis wird mit dem Miter-Limit multipliziert, und einige zusätzliche Seitenränder, um Endkappen zuzulassen.

Gilt für: