在Windows Phone 8.1上将Ellipse或EllipseGeometry转换为PathFigure

时间:2015-10-06 12:48:37

标签: c# xaml shape drawing2d winrt-component

我偶然发现将Ellipse转换为PathGeometry。 我试图使用ArcSegment来呈现Ellipse,但仍然不知道如何将Ellipse大小转换为ArcSegment大小。我试图将Ellipse分成两部分,但还有其他方法,即贝塞尔曲线。 需要线索如何将Ellipse转换为ArcSegment集合。 整个过程可能看起来像这样:

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;
}

1 个答案:

答案 0 :(得分:2)

您可以直接使用EllipseGeometry作为路径数据:

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

使用Ellipse的大小,它看起来像这样:

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