Freigeben über


Region.GetBounds-Methode

Ruft eine RectangleF-Struktur ab, die ein Rechteck darstellt, das diese Region auf der Zeichenoberfläche eines Graphics-Objekts begrenzt.

Namespace: System.Drawing
Assembly: System.Drawing (in system.drawing.dll)

Syntax

'Declaration
Public Function GetBounds ( _
    g As Graphics _
) As RectangleF
'Usage
Dim instance As Region
Dim g As Graphics
Dim returnValue As RectangleF

returnValue = instance.GetBounds(g)
public RectangleF GetBounds (
    Graphics g
)
public:
RectangleF GetBounds (
    Graphics^ g
)
public RectangleF GetBounds (
    Graphics g
)
public function GetBounds (
    g : Graphics
) : RectangleF

Parameter

Rückgabewert

Eine RectangleF-Struktur, die das umschließende Rechteck für diese Region auf der angegebenen Zeichenoberfläche darstellt.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentNullException

g ist NULL (Nothing in Visual Basic).

Hinweise

Die aktuelle Transformation des Grafikkontexts wird zum Berechnen des Bereichsinneren auf der Zeichenoberfläche verwendet. Das umschließende Rechteck ist, abhängig von der aktuellen Transformation, nicht immer das kleinstmögliche umschließende Rechteck.

Beispiel

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms vorgesehen und erfordert PaintEventArgse, wobei es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Erstellt einen GraphicsPath und fügt diesem eine Ellipse hinzu.

  • Füllt den Pfad in der Farbe Blau und zeichnet ihn auf dem Bildschirm.

  • Erstellt einen Bereich, der den GraphicsPath verwendet.

  • Ruft bei Kombination mit dem zweiten Bereich den nicht ausgeschlossenen Teil des Bereichs ab.

  • Ruft das umschließende Rechteck für den Bereich ab und zeichnet es in Rot auf dem Bildschirm.

Public Sub GetBoundsExample(ByVal e As PaintEventArgs)

    ' Create a GraphicsPath and add an ellipse to it.
    Dim myPath As New GraphicsPath
    Dim ellipseRect As New Rectangle(20, 20, 100, 100)
    myPath.AddEllipse(ellipseRect)

    ' Fill the path with blue and draw it to the screen.
    Dim myBrush As New SolidBrush(Color.Blue)
    e.Graphics.FillPath(myBrush, myPath)

    ' Create a region using the GraphicsPath.
    Dim myRegion As New [Region](myPath)

    ' Get the bounding rectangle for myRegion and draw it to the
    ' screen in Red.
    Dim boundsRect As RectangleF = myRegion.GetBounds(e.Graphics)
    e.Graphics.DrawRectangle(Pens.Red, Rectangle.Round(boundsRect))
End Sub
public void GetBoundsExample(PaintEventArgs e)
{
             
    // Create a GraphicsPath and add an ellipse to it.
    GraphicsPath myPath = new GraphicsPath();
    Rectangle ellipseRect = new Rectangle(20, 20, 100, 100);
    myPath.AddEllipse(ellipseRect);
             
    // Fill the path with blue and draw it to the screen.
    SolidBrush myBrush = new SolidBrush(Color.Blue);
    e.Graphics.FillPath(myBrush, myPath);
             
    // Create a region using the GraphicsPath.
    Region myRegion = new Region(myPath);
             
    // Get the bounding rectangle for myRegion and draw it to the
             
    // screen in Red.
    RectangleF boundsRect = myRegion.GetBounds(e.Graphics);
    e.Graphics.DrawRectangle(Pens.Red, Rectangle.Round(boundsRect));
}
public:
   void GetBoundsExample( PaintEventArgs^ e )
   {
      // Create a GraphicsPath and add an ellipse to it.
      GraphicsPath^ myPath = gcnew GraphicsPath;
      Rectangle ellipseRect = Rectangle(20,20,100,100);
      myPath->AddEllipse( ellipseRect );

      // Fill the path with blue and draw it to the screen.
      SolidBrush^ myBrush = gcnew SolidBrush( Color::Blue );
      e->Graphics->FillPath( myBrush, myPath );

      // Create a region using the GraphicsPath.
      System::Drawing::Region^ myRegion = gcnew System::Drawing::Region( myPath );

      // Get the bounding rectangle for myRegion and draw it to the
      // screen in Red.
      RectangleF boundsRect = myRegion->GetBounds( e->Graphics );
      e->Graphics->DrawRectangle( Pens::Red, Rectangle::Round( boundsRect ) );
   }
public void GetBoundsExample(PaintEventArgs e)
{
    // Create a GraphicsPath and add an ellipse to it.
    GraphicsPath myPath = new GraphicsPath();
    Rectangle ellipseRect = new Rectangle(20, 20, 100, 100);

    myPath.AddEllipse(ellipseRect);

    // Fill the path with blue and draw it to the screen.
    SolidBrush myBrush = new SolidBrush(Color.get_Blue());

    e.get_Graphics().FillPath(myBrush, myPath);

    // Create a region using the GraphicsPath.
    Region myRegion = new Region(myPath);

    // Get the bounding rectangle for myRegion and draw it to the
    // screen in Red.
    RectangleF boundsRect = myRegion.GetBounds(e.get_Graphics());

    e.get_Graphics().DrawRectangle(Pens.get_Red(), 
        Rectangle.Round(boundsRect));
} //GetBoundsExample

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

Region-Klasse
Region-Member
System.Drawing-Namespace