在Windows Phone 8.1上转换Ellipse或EllipseGeometry到PathFigure

本文关键字:Ellipse EllipseGeometry PathFigure 转换 Windows Phone | 更新日期: 2023-09-27 18:16:19

我偶然发现将Ellipse转换为PathGeometry。我尝试过使用ArcSegment来呈现椭圆,但仍然不知道如何将椭圆大小转换为ArcSegment大小。我试着把椭圆分割成两部分,但也有其他方法,比如贝塞尔曲线。需要线索如何将椭圆转换为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;
}

在Windows Phone 8.1上转换Ellipse或EllipseGeometry到PathFigure

您可以直接使用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
    }
};