GraphicsPath.Clone 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建此路径的确切副本。
public:
virtual System::Object ^ Clone();
public object Clone ();
abstract member Clone : unit -> obj
override this.Clone : unit -> obj
Public Function Clone () As Object
返回
此方法创建 GraphicsPath 作为对象强制转换。
实现
示例
下面的代码示例旨在与 Windows 窗体一起使用,它需要 PaintEventArgse
OnPaint 事件对象。 该代码执行以下操作:
创建路径。
将多个数字添加到路径。
绘制屏幕的路径。
克隆该路径的副本。
绘制屏幕的新路径。
请注意,调用 Clone 方法必须强制转换为 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