Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Концы линий
Концы линий
Если рассмотреть вывод предыдущего примера, вы должны заметить, что начало и конец каждой линии там оформлен вполне стандартно – линия "срезается" под углом 90° к ее направлению. Но, используя перечень LineCap, вы имеете возможность создавать объекты Pen, демонстрирующие иное поведение.
public enum LineCap {
Flat, Square, Round,
Triangle, NoAnchor,
SquareAnchor, RoundAnchor,
DiamondAnchor, ArrowAnchor,
AnchorMask, Custom
}
Следующее приложение отображает набор линий, по очереди используя каждый из стилей LineCap. Конечный результат показан на рис. 20.13.
Рис. 20.13. Работа с концами линий
В соответствующем программном коде просто используется цикл по всем членам перечня LineCap с выводам имени соответствующего элемента (например, ArrowAnchor) и отображением линии с соответствующим оформлением ее концов.
private void MainForm_Paint(object sender, PaintEventArgs e) {
Graphics g = e.Graphics;
Pen thePen = new Pen(Color.Black, 10);
int yOffSet = 10;
// Получение всех членов перечня LineCap.
Array obj = Enum.GetValues(typeof(LineCap));
// Рисование линии для данного члена LineCap.
for (int х = 0; х ‹ obj. Length; x++) {
// Получение следующего стиля конца линии и настройка пера.
LineCap temp = (LineCap)obj.GetValue(x);
thePen.StartCap = temp;
thePen.EndCap = temp;
// Вывод имени из перечня LineCap.
g.Drawstring(temp.ToString(), new Font("Times New Roman", 10), new SolidBrush(Color.Black), 0, yOffSet);
// Рисование линии с соответствующим стилем концов.
g.DrawLine(thePen, 100, yOffSet, Width – 50, yOffSet);
yOffSet += 40;
}
}
Исходный код. Проект PenCapApp размещен в подкаталоге, соответствующем главе 20.
- 17.6. Отрисовка линий
- Рисование фигур и линий
- Рисование линий и фигур
- Что можно сделать, когда не удается свести концы с концами
- 21.4.8. Атрибуты рисования линий
- 9.3. Создание прямых линий
- 21.4.1. Рисование линий и заливка многоугольников
- Задание цвета линий и заливок
- Глава 6 Работа с цветом и стилем линий
- 24.2.8. Рисование линий и прямоугольников
- 7.5. Настройка выделенных линий
- Задание цвета, уровня прозрачности и толщины линий