Tow*_*wer 7 .net c# wpf canvas
我有三个已知位置,目前我正在驾驶两条线路:
Line line = new Line
{
StrokeThickness = 3,
Stroke = lineColor,
X1 = MyX,
Y1 = MyY,
X2 = MyX,
Y2 = MiddleY
};
Graph.Children.Add(line);
line = new Line
{
StrokeThickness = 3,
Stroke = lineColor,
X1 = MyX,
Y1 = MiddleY,
X2 = TargetX,
Y2 = TargetY
};
Graph.Children.Add(line);
Run Code Online (Sandbox Code Playgroud)
这是结果:

所以,正如你所看到的,这几乎是我想要的,除了我希望它更平滑,只是一点点.
现在我正在寻找任何可以设置三个点的方法,将一些平滑/弯曲的水平设置到中间点,然后在其上绘制一条带有纯色的线.就像我在Photoshop中如何做到这一点:

或者至少得到类似的平滑度.
我想你正在寻找样条
http://msdn.microsoft.com/en-us/library/554h284b.aspx
Gabe是正确的,来自Forms
在WPF下你可以尝试PolyBezierSegment但它需要4分.可能你可以分三个点和另外一个来塑造它.
<Canvas>
<Path Stroke="Black" StrokeThickness="10">
<Path.Data>
<PathGeometry>
<PathGeometry.Figures>
<PathFigureCollection>
<PathFigure StartPoint="100,80">
<PathFigure.Segments>
<PathSegmentCollection>
<PolyBezierSegment Points="90,200 140,200 160,200 180,200 430,190 430,280" />
</PathSegmentCollection>
</PathFigure.Segments>
</PathFigure>
</PathFigureCollection>
</PathGeometry.Figures>
</PathGeometry>
</Path.Data>
</Path>
</Canvas>
Run Code Online (Sandbox Code Playgroud)
这导致以下曲线
