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


Рисование настраиваемой штриховой линии

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

Чтобы нарисовать настраиваемую дефишированную линию, поместите длину дефисов и пробелов в массиве и передайте адрес массива в качестве аргумента методу Pen::SetDashPattern объекта пера. В следующем примере рисуется настраиваемая дефишированная линия на основе массива {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).

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