Bagikan melalui


GraphicsPath.GetBounds Metode

Definisi

Mengembalikan persegi panjang yang mengikat GraphicsPathini.

Overload

GetBounds()

Mengembalikan persegi panjang yang mengikat GraphicsPathini.

GetBounds(Matrix)

Mengembalikan persegi panjang yang mengikat GraphicsPath ini ketika jalur ini diubah oleh Matrixyang ditentukan.

GetBounds(Matrix, Pen)

Mengembalikan persegi panjang yang mengikat GraphicsPath ini ketika jalur saat ini diubah oleh Matrix yang ditentukan dan digambar dengan Penyang ditentukan.

GetBounds()

Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs

Mengembalikan persegi panjang yang mengikat GraphicsPathini.

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

Mengembalikan

RectangleF yang mewakili persegi panjang yang mengikat GraphicsPathini.

Contoh

Contoh kode berikut dirancang untuk digunakan dengan Windows Forms, dan memerlukan PaintEventArgse, objek peristiwa OnPaint. Kode melakukan tindakan berikut:

  • Membuat jalur grafis.

  • Menambahkan elips (lingkaran) ke dalamnya dan menggambarnya ke layar.

  • Mengambil persegi panjang pembatas untuk lingkaran dengan panggilan ke GetBounds dan menggambar persegi panjang ke layar.

  • Membuat jalur grafis kedua.

  • Menambahkan lingkaran dan memperlebar jalur ke lebar 10.

  • Menggambar jalur ke layar.

  • Mengambil persegi panjang pembatas untuk lingkaran kedua.

  • Menggambar persegi panjang pembatas ke layar.

  • Menampilkan ukuran persegi dalam kotak dialog.

Perhatikan bahwa persegi panjang pembatas di sebelah kanan lebih besar (untuk memperhitungkan lebar ekstra garis).

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

Keterangan

Ukuran persegi panjang pembatas yang dikembalikan dipengaruhi oleh jenis batas akhir, lebar pena, dan batas jarak tempuh pena, dan karenanya menghasilkan "kecocokan longgar" ke jalur terikat. Perkiraan rumus adalah: persegi panjang pembatas awal ditingkatkan dengan lebar pena, dan hasil ini dikalikan dengan batas mil, ditambah beberapa margin tambahan untuk memungkinkan batas akhir.

Berlaku untuk

GetBounds(Matrix)

Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs

Mengembalikan persegi panjang yang mengikat GraphicsPath ini ketika jalur ini diubah oleh Matrixyang ditentukan.

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

Parameter

matrix
Matrix

Matrix yang menentukan transformasi yang akan diterapkan ke jalur ini sebelum persegi panjang pembatas dihitung. Jalur ini tidak diubah secara permanen; transformasi hanya digunakan selama proses penghitungan persegi panjang pembatas.

Mengembalikan

RectangleF yang mewakili persegi panjang yang mengikat GraphicsPathini.

Contoh

Misalnya, lihat GetBounds().

Keterangan

Ukuran persegi panjang pembatas yang dikembalikan dipengaruhi oleh jenis batas akhir, lebar pena, dan batas jarak tempuh pena, dan karenanya menghasilkan "kecocokan longgar" ke jalur terikat. Perkiraan rumus adalah: persegi panjang pembatas awal ditingkatkan dengan lebar pena, dan hasil ini dikalikan dengan batas mil, ditambah beberapa margin tambahan untuk memungkinkan batas akhir.

Berlaku untuk

GetBounds(Matrix, Pen)

Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs

Mengembalikan persegi panjang yang mengikat GraphicsPath ini ketika jalur saat ini diubah oleh Matrix yang ditentukan dan digambar dengan Penyang ditentukan.

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

Parameter

matrix
Matrix

Matrix yang menentukan transformasi yang akan diterapkan ke jalur ini sebelum persegi panjang pembatas dihitung. Jalur ini tidak diubah secara permanen; transformasi hanya digunakan selama proses penghitungan persegi panjang pembatas.

pen
Pen

Pen untuk menggambar GraphicsPath.

Mengembalikan

RectangleF yang mewakili persegi panjang yang mengikat GraphicsPathini.

Contoh

Misalnya, lihat GetBounds().

Keterangan

Ukuran persegi panjang pembatas yang dikembalikan dipengaruhi oleh jenis batas akhir, lebar pena, dan batas jarak tempuh pena, dan karenanya menghasilkan "kecocokan longgar" ke jalur terikat. Perkiraan rumus adalah: persegi panjang pembatas awal ditingkatkan dengan lebar pena, dan hasil ini dikalikan dengan batas mil, ditambah beberapa margin tambahan untuk memungkinkan batas akhir.

Berlaku untuk