我正在使用一个GeometryGroup
在圆的中心绘制一个符号。
下面的示例显示了我在对此进行实验时的尝试之一。它具有从同一原点 (32,32) 出发的三条直线:
<Grid>
<Path Stroke="Black" StrokeThickness="1" Width="64" Height="64" Fill="Yellow" VerticalAlignment="Top" HorizontalAlignment="Left" ClipToBounds="True">
<Path.Data>
<GeometryGroup>
<EllipseGeometry Center="32,32" RadiusX="32" RadiusY="32"/>
<PathGeometry Figures="M 32,32 L 32,19 Z"/>
<PathGeometry Figures="M 32,32 L 19,32 Z"/>
<PathGeometry Figures="M 32,32 L 19,19 Z"/>
</GeometryGroup>
</Path.Data>
</Path>
</Grid>
然而,当渲染时,这三条线没有相同的端点,尽管它们似乎在中心点 32,32 处相互交叉。
如果我将这三行组合成一张图:
<Grid>
<Path Stroke="Black" StrokeThickness="1" Width="64" Height="64" Fill="Yellow" VerticalAlignment="Top" HorizontalAlignment="Left" ClipToBounds="True">
<Path.Data>
<GeometryGroup>
<EllipseGeometry Center="32,32" RadiusX="32" RadiusY="32"/>
<PathGeometry Figures="M 32,32 L 32,19 M 32,32 L 19,32 M 32,32 L 19,19 Z"/>
</GeometryGroup>
</Path.Data>
</Path>
</Grid>
渲染的结果看起来不同,但也很奇怪:第三条(对角线)线穿过原点,另外两条线以原点结束,并且 19 的 x 和 y 坐标不匹配。
为什么会发生这种情况?我该如何解决这个问题?