2015-10-06 44 views
0

我已经无意中将Ellipse转换为PathGeometry。 我试图使用ArcSegment来呈现椭圆,但仍然不知道如何将椭圆大小转换为ArcSegment大小。我试图将椭圆分割成两部分,但还有其他方法,即贝塞尔曲线。 需要线索如何将Ellipse转换为ArcSegment集合。 整个过程可以寻找这样的:在Windows Phone 8.1上将Ellipse或EllipseGeometry转换为PathFigure

public static PathFigure ToFigures(this Ellipse ellipse) 
{ 
    var pathFigure = new PathFigure {IsClosed = true}; 
    var arcSegment1 = new ArcSegment(); 
    var arcSegment2 = new ArcSegment(); 
    pathFigure.Segments.Add(arcSegment1); 
    pathFigure.Segments.Add(arcSegment2); 
    return pathFigure; 
} 
+0

你只是试图把椭圆分割成弧段中的两个部分吗?或者是弧段甚至是必需的,你可以做一个椭圆几何或只是一个路径作为椭圆? –

+0

椭圆分成两部分将会很好。作为源对象,我有Ellipse或EllipseGeometry作为选择。对于输出,需要PathGeometry或PathFigure。 – Dmitry

+0

所以,如果你不想/徒手画你的几何图形,一个非常简单的方法来做到这一点。打开混合,在美工板上按照自己的喜好拖放一个椭圆,然后右键单击 - >路径 - >转换为路径。除非我提到源和输出结果,否则我仍然不确定你想要做什么。这听起来更像是你在寻找一款转换器。 –

回答

1

你可以直接使用EllipseGeometry的路径数据:

path = new Path 
{ 
    Data = new EllipseGeometry { RadiusX = 100, RadiusY = 50 } 
}; 

使用椭圆的大小,它应该是这样的:

path = new Path 
{ 
    Data = new EllipseGeometry 
    { 
     RadiusX = ellipse.ActualWidth/2, 
     RadiusY = ellipse.ActualHeight/2 
    } 
}; 
相关问题