如何在WPF中沿路径绘制平行线

时间:2015-08-20 03:51:04

标签: c# wpf xaml path

我想在一条线上添加边框。我试图沿着存在的(或任何其他方法)绘制两条线。实现它。我试图绘制两条不同厚度的线条。但我想要一种灵活的方法。

我也尝试使用DrawingBrush,但旋转和缩放是一个问题。

简单的代码看起来像这样。但我想知道是否有任何其他方便的方法来添加路径线的边框。除了线路的起点和终点没有被边界"在这种方法中。

<Path
    StrokeThickness="3"
    StrokeDashCap="Round"
    Stroke="Black"
    Data="{Binding PathGeometry}"
>
</Path>
<Path
    StrokeThickness="8"
    StrokeDashCap="Round"
    Stroke="{Binding Brush}"
    Data="{Binding PathGeometry}"
>
</Path>

它可能看起来像这样(我只需要三行): enter image description here

1 个答案:

答案 0 :(得分:0)

使用线y = mx + c的方程式

   private Point GetParellelPoint(Point point1,Point point2,double?X,double?Y)
    {
        double slope =( point1.Y- point2.Y ) / ( point1.X- point2.X ) ;
        if(!X.HasValue)
        {
            X = (Y.Value - point1.Y) / slop + point1.X;
        }
        if (!Y.HasValue)
        {
            Y = slop*(X.Value - point1.X)   + point1.Y;
        }
        return new Point(X.Value, Y.Value);
    }

点1和点2是现有线的两个点,然后根据需要提供y或x