Вопрос:
У меня есть три известных положения, и в настоящее время я управляю двумя строками:
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);
Здесь результат:
Итак, как вы можете видеть, это почти то, что я хочу, за исключением того, что я хочу, чтобы он был более сглажен, немного.
Теперь я ищу любой способ, которым я мог бы установить три точки, установить некоторый гладкий/извилистый уровень в среднюю точку, а затем нарисую линию с сплошным цветом на ней. Как и я могу сделать это в Photoshop:
Или, по крайней мере, получить аналогичную гладкость.
Лучший ответ:
Я думаю, что вы ищете сплайны
http://msdn.microsoft.com/en-us/library/554h284b.aspx
Гейбе правильно, что из форм
В WPF вы можете попробовать PolyBezierSegment, но для этого требуется 4 балла. Возможно, вы могли бы разместить три точки и еще 1, чтобы сформировать его.
<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>
В результате получается следующая кривая
Ответ №1
Вы хотите использовать PathFigure, в частности, с набором BezierSegments.