我正在尝试找到在PathGeometry中使用的IsFilled="False"
的等价物,但是对于Path Mini。
您可以看到下面的两条路径是相同的,但几何图形在第二条IsFilled="False"
中的<PathGeometry>.<PathGeometry.Figures>.<PathFigure>
除外。这是期望的行为,但我想将它用于Path Mini(即在第一个<Path>
中)。我查看了文档并且似乎找不到任何内容,因为看起来Path Mini不是数字的集合。
据我了解,所有形状/几何都将在运行时转换为路径迷你,那么是否有一些方法可以反映编译的XAML以查看解释器如何使用PathGeometry将其转换为Path Mini?
<Canvas Background="#FDB" Width="800" Height="600">
<!-- this is the LEFT-HAND Path in the picture above -->
<Path Canvas.Left="100" Canvas.Top="100"
Stroke="#385D8A" StrokeThickness="2" StrokeLineJoin="Round" Fill="#4F81BD"
Data="M0,0L102,0L102,102L0,102Z M46.15,49.01L-73.36,130.99L-96.42,-96.12L109.35,355.18">
</Path>
<!-- this is the RIGHT-HAND Path in the picture above -->
<Path Canvas.Left="300" Canvas.Top="100" Stroke="#385D8A" StrokeThickness="2" StrokeLineJoin="Round" Fill="#4F81BD">
<Path.Data>
<GeometryGroup>
<PathGeometry>
<PathGeometry.Figures>
<PathFigure StartPoint="0,0" IsClosed="True">
<PathFigure.Segments>
<LineSegment Point="102,0" />
<LineSegment Point="102,102" />
<LineSegment Point="0,102" />
</PathFigure.Segments>
</PathFigure>
</PathGeometry.Figures>
</PathGeometry>
<PathGeometry>
<PathGeometry.Figures>
<PathFigure IsFilled="False" StartPoint="46.15,49.01">
<PathFigure.Segments>
<LineSegment Point="-73.36,130.99" />
<LineSegment Point="-96.42,-96.12" />
<LineSegment Point="109.35,355.18" />
</PathFigure.Segments>
</PathFigure>
</PathGeometry.Figures>
</PathGeometry>
</GeometryGroup>
</Path.Data>
</Path>
</Canvas>
答案 0 :(得分:2)
路径迷你语言仅支持轮廓,因此笔划必须转换为填充。如果你想要一个像素宽的线条并且你对于缓和或端盖不太挑剔的话,这很容易做到。只需使用瘦小的矩形。使用最小点数和处理交叉点进行无限窄行程的真正数学“增长”是相当困难的。但是,您可能可以使用WPF渲染引擎为您执行此操作,因为显然它已经可以执行此操作。