GraphicsPath.GetBounds Метод

Определение

Возвращает прямоугольник, ограничивающий этот объект GraphicsPath.Returns a rectangle that bounds this GraphicsPath.

Перегрузки

GetBounds(Matrix)

Возвращает ограничивающий прямоугольник для этого объекта GraphicsPath, когда данный контур преобразуется с помощью указанного объекта Matrix.Returns a rectangle that bounds this GraphicsPath when this path is transformed by the specified Matrix.

GetBounds(Matrix, Pen)

Возвращает ограничивающий прямоугольник для этого объекта GraphicsPath, когда данный контур преобразуется с помощью указанного объекта Matrix и отображается с помощью заданного объекта Pen.Returns a rectangle that bounds this GraphicsPath when the current path is transformed by the specified Matrix and drawn with the specified Pen.

GetBounds()

Возвращает прямоугольник, ограничивающий этот объект GraphicsPath.Returns a rectangle that bounds this GraphicsPath.

GetBounds(Matrix)

Возвращает ограничивающий прямоугольник для этого объекта GraphicsPath, когда данный контур преобразуется с помощью указанного объекта Matrix.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

Параметры

matrix
Matrix

Объект Matrix, определяющий преобразование, которое нужно применить к данному контуру до вычисления ограничивающего прямоугольника.The Matrix that specifies a transformation to be applied to this path before the bounding rectangle is calculated. Этот контур не преобразуется постоянно; преобразование используется только для процесса вычисления ограничивающего прямоугольника.This path is not permanently transformed; the transformation is used only during the process of calculating the bounding rectangle.

Возвращаемое значение

Объект RectangleF, представляющий прямоугольник, который ограничивает этот объект GraphicsPath.A RectangleF that represents a rectangle that bounds this GraphicsPath.

Примеры

Пример см. в разделе GetBounds().For an example, see GetBounds().

Комментарии

Размер возвращаемого ограничивающего прямоугольника зависит от типа концов, ширины пера и предельного числа срезов пера, и, следовательно, выдает «свободную подборку» для ограничивающего контура.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. Приблизительная формула: первоначальный ограничивающий прямоугольник расширяется по ширине пера, и этот результат умножается на предел среза, а также на дополнительное поле, разрешающее конечные точки.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)

Возвращает ограничивающий прямоугольник для этого объекта GraphicsPath, когда данный контур преобразуется с помощью указанного объекта Matrix и отображается с помощью заданного объекта Pen.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

Параметры

matrix
Matrix

Объект Matrix, определяющий преобразование, которое нужно применить к данному контуру до вычисления ограничивающего прямоугольника.The Matrix that specifies a transformation to be applied to this path before the bounding rectangle is calculated. Этот контур не преобразуется постоянно; преобразование используется только для процесса вычисления ограничивающего прямоугольника.This path is not permanently transformed; the transformation is used only during the process of calculating the bounding rectangle.

pen
Pen

Объект Pen, посредством которого производится отображение объекта GraphicsPath.The Pen with which to draw the GraphicsPath.

Возвращаемое значение

Объект RectangleF, представляющий прямоугольник, который ограничивает этот объект GraphicsPath.A RectangleF that represents a rectangle that bounds this GraphicsPath.

Примеры

Пример см. в разделе GetBounds().For an example, see GetBounds().

Комментарии

Размер возвращаемого ограничивающего прямоугольника зависит от типа концов, ширины пера и предельного числа срезов пера, и, следовательно, выдает «свободную подборку» для ограничивающего контура.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. Приблизительная формула: первоначальный ограничивающий прямоугольник расширяется по ширине пера, и этот результат умножается на предел среза, а также на дополнительное поле, разрешающее конечные точки.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()

Возвращает прямоугольник, ограничивающий этот объект 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

Возвращаемое значение

Объект RectangleF, представляющий прямоугольник, который ограничивает этот объект GraphicsPath.A RectangleF that represents a rectangle that bounds this GraphicsPath.

Примеры

Следующий пример кода предназначен для использования с Windows Forms, и для него требуется PaintEventArgse, объект события OnPaint.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, an OnPaint event object. Код выполняет следующие действия.The code performs the following actions:

  • Создает графический путь.Creates a graphics path.

  • Добавляет эллипс (окружность) к нему и отображает его на экране.Adds an ellipse (circle) to it and draws it to the screen.

  • Извлекает ограничивающий прямоугольник для окружности с помощью вызова GetBounds и выводит прямоугольник на экран.Retrieves the bounding rectangle for the circle with a call to GetBounds and draws the rectangle to the screen.

  • Создает второй графический контур.Creates a second graphics path.

  • Добавляет окружность и расширяет контур до ширины, равной 10.Adds a circle and widens the path to a width of 10.

  • Отображает контур на экране.Draws the path to the screen.

  • Извлекает ограничивающий прямоугольник для второго круга.Retrieves the bounding rectangle for the second circle.

  • Рисует ограничивающий прямоугольник на экране.Draws the bounding rectangle to the screen.

  • Отображает размер прямоугольника в диалоговом окне.Displays the rectangle size in a dialog box.

Обратите внимание, что ограничивающий прямоугольник справа больше (для учета дополнительной ширины линии).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

Комментарии

Размер возвращаемого ограничивающего прямоугольника зависит от типа концов, ширины пера и предельного числа срезов пера, и, следовательно, выдает «свободную подборку» для ограничивающего контура.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. Приблизительная формула: первоначальный ограничивающий прямоугольник расширяется по ширине пера, и этот результат умножается на предел среза, а также на дополнительное поле, разрешающее конечные точки.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.

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