Поделиться через


Рисование пользовательской пунктирной линии

Windows GDI+ предоставляет несколько стилей тире, перечисленных в перечислении DashStyle . Если эти стандартные стили тире не соответствуют вашим потребностям, можно создать пользовательский шаблон тире.

Чтобы нарисовать пользовательскую пунктирную линию, поместите длину дефисов и пробелов в массив и передайте адрес массива в качестве аргумента в метод Pen::SetDashPattern объекта Pen . В следующем примере рисуется настраиваемая пунктирная линия на основе массива {5, 2, 15, 4}. При умножении элементов массива на ширину пера 5 вы получите {25, 10, 75, 20}. Отображаемые штрихи пунктира чередуются по своей длине от 25 до 75, а пробелы чередуются по длине от 10 до 20.

REAL dashValues[4] = {5, 2, 15, 4};
Pen blackPen(Color(255, 0, 0, 0), 5);
blackPen.SetDashPattern(dashValues, 4);
stat = graphics.DrawLine(&blackPen, Point(5, 5), Point(405, 5));

Нарисованная пунктирная линия показана на рисунке ниже. Обратите внимание, что конечный штрих должен быть короче 25 единиц, чтобы линия закончилась в точке (405, 5).

иллюстрация, показывающая пунктирную линию; каждый сегмент представляет собой короткую строку, за которой следует длинный