GraphicsPath.Clone Methode

Definition

Erstellt eine genaue Kopie von diesem Pfad.

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

Gibt zurück

Das von dieser Methode erstellte GraphicsPath, umgewandelt in ein Objekt.

Implementiert

Beispiele

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgseein OnPaint Ereignisobjekt. Der Code führt die folgenden Aktionen aus:

  • Erstellt einen Pfad.

  • Fügt dem Pfad mehrere Abbildungen hinzu.

  • Zeichnet den Pfad zum Bildschirm.

  • Klont eine Kopie dieses Pfads.

  • Zeichnet den neuen Pfad zum Bildschirm.

Beachten Sie, dass der Aufruf der Clone -Methode in umgewandelt GraphicsPathwerden muss.

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

Gilt für: