Region.GetBounds(Graphics) Region.GetBounds(Graphics) Region.GetBounds(Graphics) Region.GetBounds(Graphics) Method

Определение

Возвращает структуру RectangleF, представляющую прямоугольник, ограничивающий область Region на поверхности рисования объекта Graphics.Gets a RectangleF structure that represents a rectangle that bounds this Region on the drawing surface of a Graphics object.

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

Параметры

g
Graphics Graphics Graphics Graphics

Поверхность Graphics, на которой рисуется область Region.The Graphics on which this Region is drawn.

Возвраты

Структура RectangleF, представляющая ограничивающий прямоугольник для этой область Region на указанной поверхности рисования.A RectangleF structure that represents the bounding rectangle for this Region on the specified drawing surface.

Исключения

Примеры

В следующем примере кода предназначен для работы с Windows Forms и требует PaintEventArgs e, который является параметром Paint обработчик событий.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. Код выполняет следующие действия.The code performs the following actions:

  • Создает GraphicsPath и добавляет к нему эллипс.Creates a GraphicsPath and adds an ellipse to it.

  • Выполняет путь синим цветом и отображает его на экране.Fills the path with blue and draws it to the screen.

  • Создает область, использующую GraphicsPath.Creates a region that uses the GraphicsPath.

  • Возвращает неисключенную области в сочетании с второй прямоугольник.Gets the nonexcluded area of the region when combined with the second rectangle.

  • Получает ограничивающий прямоугольник для региона и отображает его на экране красным цветом.Gets the bounding rectangle for the region and draws it to the screen in red.

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.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 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

Комментарии

Текущее преобразование графического контекста используется для вычисления внутренней части области на поверхности рисования.The current transformation of the graphics context is used to compute the region interior on the drawing surface. Ограничивающий прямоугольник не всегда является наименьшим возможным ограничивающим прямоугольником, в зависимости от текущего преобразования.The bounding rectangle is not always the smallest possible bounding rectangle depending on the current transformation.

Применяется к