GraphicsPath.GetBounds Метод

Определение

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

Перегрузки

GetBounds()

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

GetBounds(Matrix)

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

GetBounds(Matrix, Pen)

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

GetBounds()

Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs

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

Примеры

Следующий пример кода предназначен для использования с Windows Forms, и для него требуется PaintEventArgseOnPaint объект события . Код выполняет следующие действия.

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

  • Добавляет к нему многоточие (круг) и рисует его на экране.

  • Извлекает ограничивающий прямоугольник для круга с вызовом GetBounds и рисует прямоугольник на экране.

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

  • Добавляет круг и расширяет путь до ширины 10.

  • Рисует путь к экрану.

  • Извлекает ограничивающий прямоугольник для второго круга.

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

  • Отображает размер прямоугольника в диалоговом окне.

Обратите внимание, что ограничивающий прямоугольник справа больше (с учетом дополнительной ширины линии).

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

Комментарии

Размер возвращаемого ограничивающего прямоугольника зависит от типа концевой крышки, ширины пера и предела пера, и, следовательно, создает "свободное прилегание" к ограниченному контуру. Приблизительная формула: начальный ограничивающий прямоугольник увеличивается на ширину пера, и этот результат умножается на предел митеры, а также некоторое дополнительное поле, позволяющее использовать конечные крышки.

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

GetBounds(Matrix)

Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs

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

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

Параметры

matrix
Matrix

Объект Matrix, определяющий преобразование, которое нужно применить к данному контуру до вычисления ограничивающего прямоугольника. Этот контур не преобразуется постоянно; преобразование используется только для процесса вычисления ограничивающего прямоугольника.

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

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

Примеры

Пример см. в разделе GetBounds().

Комментарии

Размер возвращаемого ограничивающего прямоугольника зависит от типа концевой крышки, ширины пера и предела пера, и, следовательно, создает "свободное прилегание" к ограниченному контуру. Приблизительная формула: начальный ограничивающий прямоугольник увеличивается на ширину пера, и этот результат умножается на предел митеры, а также некоторое дополнительное поле, позволяющее использовать конечные крышки.

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

GetBounds(Matrix, Pen)

Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs

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

Параметры

matrix
Matrix

Объект Matrix, определяющий преобразование, которое нужно применить к данному контуру до вычисления ограничивающего прямоугольника. Этот контур не преобразуется постоянно; преобразование используется только для процесса вычисления ограничивающего прямоугольника.

pen
Pen

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

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

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

Примеры

Пример см. в разделе GetBounds().

Комментарии

Размер возвращаемого ограничивающего прямоугольника зависит от типа концевой крышки, ширины пера и предела пера, и, следовательно, создает "свободное прилегание" к ограниченному контуру. Приблизительная формула: начальный ограничивающий прямоугольник увеличивается на ширину пера, и этот результат умножается на предел митеры, а также некоторое дополнительное поле, позволяющее использовать конечные крышки.

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