Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Работа с LinearGradientBrush

Работа с LinearGradientBrush

Последним из рассматриваемых в этом разделе типов будет тип LinearGradientBrush, который можно использовать тогда, когда нужно смешать два цвета в градиентной закраске. Работать с этим типом так же просто, как и с остальными типами кисти. Важным моментом здесь Является то, что при создании LinearGradientBrush нужно указать пару типов Color и значение для направления смешивания из перечня LinearGradientMode.

public enum LinearGradientMode {
 Horizontal, Vertical,
 ForwardDiagonal, BaсkwardDiagonal
}

Чтобы проверить эти значения, с помощью LinearGradientBrush отобразим серию прямоугольников.

private void MainForm_Paint(object sender, PaintEventArgs e) {
 Graphics g = e.Graphics;
 Rectangle r = new Rectangle(10, 10, 100, 100);
 // Градиентная кисть.
 LinearGradientBrush theBrush = null;
 int yOffSet = 10;
 // Получение членов перечня LinearGradientMode.
 Array obj = Enum.GetValues(typeof(LinearGradientMode));
 // Отображение прямоугольников для членов LinearGradientMode.
 for(int x = 0; x ‹ obj.Length; x++) {
  // Конфигурация кисти.
  LinearGradientMode temp = (LinearGradientMode)obj.SetValue(x);
  theBrush = new LinearGradientBrush(r, Color.GreenYellow, Color.Blue, temp);
  // Вывод имени из перечня LinearGradientMode.
  g.DrawString(temp.ToString(), new Font("Times New Roman", 10), new SolidBrush(Color.Black), 0, yOffSet);
  // Закраска прямоугольника подходящей кистью.
  g.FillRectangle(theBrush, 150, yOffSet, 200, 50);
  yOffSet += 80;
 }
}

На рис. 20.17 показан результат.


Рис. 20.17. Градиентная кисть за работой

Исходный код. Проект GradientBrushes размещен в подкаталоге, соответствующем главе 20.

Оглавление книги


Генерация: 1.489. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз