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);
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

外接する四角形を計算する前に、このパスに適用される変換を指定する MatrixThe 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

この RectangleF に外接する四角形を表す GraphicsPathA 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);
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

外接する四角形を計算する前に、このパスに適用される変換を指定する MatrixThe 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 の描画に使用する GraphicsPathThe Pen with which to draw the GraphicsPath.

戻り値

RectangleF

この RectangleF に外接する四角形を表す GraphicsPathA 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

この RectangleF に外接する四角形を表す GraphicsPathA RectangleF that represents a rectangle that bounds this GraphicsPath.

次のコード例は、Windows フォームで使用するように設計されており、イベントオブジェクトを必要とし PaintEventArgs e 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.

  • 2番目のグラフィックスパスを作成します。Creates a second graphics path.

  • 円を追加し、パスの幅を10に拡大します。Adds a circle and widens the path to a width of 10.

  • 画面へのパスを描画します。Draws the path to the screen.

  • 2番目の円の外接する四角形を取得します。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.

適用対象