@WayMax

Как правильно реализовать определенный градиент в C#?

Ниже код который создает линию и делит ее поровну на 2 отрезка. Первый отрезок имеет градиент от Красного к оранжевому, второй - от оранжевого к зеленому. Но длины этих отрезков можно указать только в процентном соотношении. Как сделать чтобы, например, красный цвет был первые 50 пикселей, а затем только начинался градиент от красного к зеленому или сразу от оранжевого к зеленому на оставшейся длине линии?

Line line = new Line();
line.StrokeThickness = 10;
line.X1 = 10;
line.X2 = 10;
line.Y1 = 0;
line.Y2 = 200;
grid.Children.Add(line);

LinearGradientBrush linGrBrush = new LinearGradientBrush(Colors.Red, Colors.Green, 90);
linGrBrush.MappingMode = BrushMappingMode.Absolute;
linGrBrush.StartPoint = new Point(0, line.Y1);
linGrBrush.EndPoint = new Point(0, line.Y2);
linGrBrush.GradientStops.Add(new GradientStop(Colors.Red, 0));
linGrBrush.GradientStops.Add(new GradientStop(Colors.Orange, 0.5));
linGrBrush.GradientStops.Add(new GradientStop(Colors.Green, 1));
line.Stroke = linGrBrush;
  • Вопрос задан
  • 366 просмотров
Пригласить эксперта
Ответы на вопрос 1
yarosroman
@yarosroman Куратор тега C#
C# the best
В конструкторе GradientStop, второй аргумент это как раз дробное значение, до которого будет градиент, вычислить 50 пикселей от 200 ещё в школе проходят.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы