Нарисуйте кривую с резко очерченными цветами в C#
Сообщение
Смотрите
В предыдущем примере кисть задала цвета в разных точках вдоль градиента. Кисть автоматически интерполируется, чтобы сочетать цвета.
Этот пример определяет две цветовые позиции в градиенте для каждого цвета. Затем кисть должна сохранять цвет одинаковым между двумя экземплярами одного цвета. Например, кисть красного цвета в положении 0,0 и 0,2, поэтому она также должна быть красной. Это эффективно закрепляет цвета в кисти.
На рисунке 1 показаны градиенты цвета, используемые в предыдущем примере (вверху) и этом примере (внизу).
Следующий код показывает, как этот пример определяет его кисть.
// Создаем кисть для кривой. using (LinearGradientBrush brush = new LinearGradientBrush(world_rect, Color.Red, Color.Blue, 270)) { ColorBlend blend = new ColorBlend(); blend.Colors = new Color[] { Color.Red, Color.Red, Color.Orange, Color.Orange, Color.Yellow, Color.Yellow, Color.Green, Color.Green, Color.Blue, Color.Blue, }; blend.Positions = new float[] { 0.0f, 0.2f, 0.2f, 0.4f, 0.4f, 0.6f, 0.6f, 0.8f, 0.8f, 1.0f, }; brush.InterpolationColors = blend; ... }
Код создает кисть, как раньше. Затем он создает ColorBlend и назначает его цвета и позиции цветов. Обратите внимание, что каждый цвет отображается дважды, а соседние цвета имеют одинаковые позиции.