【发布时间】:2021-01-13 20:26:33
【问题描述】:
我正在尝试绘制类似这样的图形:
我需要为每个弧段设置一个独特的元素,我可以根据需要处理事件并重新着色。我有点不确定如何在 WPF 中创建正确的几何图形。我可以根据圆的半径和与中心的角度轻松计算每个弧段的四个点。外圆半径为 100,内圆半径为 50,红色的四个点是(从左上角顺时针,原点在圆的顶部):
0,0
70,30
35,65
0,50
使用这些点,我创建了一个简单的路径来绘制线段:
<Path Stroke="Black" Fill="Black" StrokeThickness="1" >
<Path.Data>
<PathGeometry>
<PathGeometry.Figures>
<PathFigure StartPoint="0,0">
<PathFigure.Segments>
<ArcSegment Point="70,30" />
<LineSegment Point="35,65" />
<ArcSegment Point="0,50" />
</PathFigure.Segments>
</PathFigure>
</PathGeometry.Figures>
</PathGeometry>
</Path.Data>
</Path>
但这只是用直线绘制梯形。我知道我可以更改 ArcSegments 上的大小,但我似乎无法弄清楚这会如何影响曲率。我希望弧线跟随主圆,但我不知道如何表达。如何使圆弧具有正确的曲率?
另外,我如何在后面的c#代码中而不是在xaml中表达和添加路径?
【问题讨论】:
-
这是我正在开发的一款棋盘游戏。
-
Size用作Size="XX,YY",其中XX是x 半径,YY是弧的y 半径。对于完美的圆弧,您会希望它们相等。根据您提供的尺寸,内弧应该是50,50,外弧应该是100,100。