Поделиться через


GraphicsPath.GetBounds Метод

Определение

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

Перегрузки

GetBounds()

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

GetBounds(Matrix)

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

GetBounds(Matrix, Pen)

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

GetBounds()

Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
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 и требует PaintEventArgseобъекта события OnPaint. Код выполняет следующие действия:

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

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

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

Комментарии

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

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