GraphicsPath.Clone Metoda

Definicja

Tworzy dokładną kopię tej ścieżki.Creates an exact copy of this path.

public:
 virtual System::Object ^ Clone();
public object Clone ();
abstract member Clone : unit -> obj
override this.Clone : unit -> obj
Public Function Clone () As Object

Zwraca

Object

GraphicsPathTa metoda tworzy, Rzutowanie jako obiekt.The GraphicsPath this method creates, cast as an object.

Implementuje

Przykłady

Poniższy przykład kodu jest przeznaczony do użytku z Windows Forms i wymaga PaintEventArgs e OnPaint obiektu zdarzenia.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, an OnPaint event object. Kod wykonuje następujące czynności:The code performs the following actions:

  • Tworzy ścieżkę.Creates a path.

  • Dodaje kilka cyfr do ścieżki.Adds several figures to the path.

  • Rysuje ścieżkę do ekranu.Draws the path to the screen.

  • Klonuje kopię tej ścieżki.Clones a copy of that path.

  • Rysuje nową ścieżkę do ekranu.Draws the new path to the screen.

Należy zauważyć, że wywołanie Clone metody musi być rzutowane jako GraphicsPath .Notice that the call the Clone method must be cast as a GraphicsPath.

private:
   void CloneExample( PaintEventArgs^ e )
   {
      // Set several markers in a path.
      GraphicsPath^ myPath = gcnew GraphicsPath;
      myPath->AddEllipse( 0, 0, 100, 200 );
      myPath->AddLine( Point(100,100), Point(200,100) );
      Rectangle rect = Rectangle(200,0,100,200);
      myPath->AddRectangle( rect );
      myPath->AddLine( Point(250,200), Point(250,300) );

      // Draw the path to the screen.
      Pen^ myPen = gcnew Pen( Color::Black,2.0f );
      e->Graphics->DrawPath( myPen, myPath );

      // Clone a copy of myPath.
      GraphicsPath^ myPath2 = dynamic_cast<GraphicsPath^>(myPath->Clone());

      // Draw the path to the screen.
      Pen^ myPen2 = gcnew Pen( Color::Red,4.0f );
      e->Graphics->DrawPath( myPen2, myPath2 );
   }
private void CloneExample(PaintEventArgs e)
{
             
    // Set several markers in a path.
    GraphicsPath myPath = new GraphicsPath();
    myPath.AddEllipse(0, 0, 100, 200);
    myPath.AddLine(new Point(100, 100), new Point(200, 100));
    Rectangle rect = new Rectangle(200, 0, 100, 200);
    myPath.AddRectangle(rect);
    myPath.AddLine(new Point(250, 200), new Point(250, 300));
             
    // Draw the path to the screen.
    Pen myPen = new Pen(Color.Black, 2);
    e.Graphics.DrawPath(myPen, myPath);
             
    // Clone a copy of myPath.
    GraphicsPath myPath2 = (GraphicsPath)myPath.Clone();
             
    // Draw the path to the screen.
    Pen myPen2 = new Pen(Color.Red, 4);
    e.Graphics.DrawPath(myPen2, myPath2);
}
Public Sub CloneExample(ByVal e As PaintEventArgs)

    ' Set several markers in a path.
    Dim myPath As New GraphicsPath
    myPath.AddEllipse(0, 0, 100, 200)
    myPath.AddLine(New Point(100, 100), New Point(200, 100))
    Dim rect As New Rectangle(200, 0, 100, 200)
    myPath.AddRectangle(rect)
    myPath.AddLine(New Point(250, 200), New Point(250, 300))

    ' Draw the path to the screen.
    Dim myPen As New Pen(Color.Black, 2)
    e.Graphics.DrawPath(myPen, myPath)

    ' Clone a copy of myPath.
    Dim myPath2 As GraphicsPath = CType(myPath.Clone(), GraphicsPath)

    ' Draw the path to the screen.
    Dim myPen2 As New Pen(Color.Red, 4)
    e.Graphics.DrawPath(myPen2, myPath2)
End Sub

Dotyczy