0

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

1 回答 1

2

您可以直接使用 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
    }
};
于 2015-10-07T18:27:41.150 回答