Wpf 增加冲程厚度,但保持路径尺寸
我有一个Wpf 增加冲程厚度,但保持路径尺寸,wpf,silverlight,xaml,geometry,Wpf,Silverlight,Xaml,Geometry,我有一个路径,它的冲程厚度通常为1。在某些情况下,它需要具有10的冲程厚度。当我增加笔划厚度时,我不希望路径占用任何额外的空间 默认情况下,仅增加StrokeThickness会增加路径的渲染大小。所以你会得到这样的结果(蓝色的轮廓超出了黑色的边界): 这就是我试图实现的目标(蓝色轮廓保持在黑色边界内): 我可以想出两种数学方法来补偿增加的冲程宽度: 手动向内调整三角形的点 在路径的几何图形上使用ScaleTransform 这两个方面都有点问题/复杂。有更简单的方法吗?您可以通过自己的几何
路径
,它的冲程厚度通常为1。在某些情况下,它需要具有10的冲程厚度。当我增加笔划厚度时,我不希望路径占用任何额外的空间
默认情况下,仅增加StrokeThickness会增加路径的渲染大小。所以你会得到这样的结果(蓝色的轮廓超出了黑色的边界):
这就是我试图实现的目标(蓝色轮廓保持在黑色边界内):
我可以想出两种数学方法来补偿增加的冲程宽度:
这两个方面都有点问题/复杂。有更简单的方法吗?您可以通过自己的几何图形剪裁路径,如下所示:
<Path ... Clip="{Binding Data, RelativeSource={RelativeSource Self}}"/>
但是你需要加倍StrokeThickness,因为只有一半的笔划是可见的。我一时兴起,在我的矩形上设置了StrokeThickness=-1,它完全按照我的要求做了:笔划在矩形的内侧,而不是外侧。所以要解决OP的具体情况,它应该在-1和-10之间变化?对我不起作用。StrokeThickness的-1和1给出了相同的结果,如果我需要相反的结果呢?要仅保留外部笔划,是否有方法排除自几何体?请参见