我偶然发现将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;
}
答案 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
}
};