Создание пользовательских стилей линий в FastReport .NET

Создание пользовательских стилей линий в FastReport .NET

В последнем обновлении FastReport .NET 2024.1 для объектов PolyLineObject, PolygonObject, LineObject и ShapeObject добавлено новое свойство - DashPattern. С помощью этого свойства задается пользовательский паттерн для создания уникального стиля линий в случаях, когда необходимого паттерна нет в стандартном наборе.

Пользовательский паттерн представляет собой массив значений, задать который можно через редактор коллекции или вручную.

Варианты ввода значений пользовательского паттерна линий

Элементы в массиве задают длину каждого тире и пробела в паттерне. 

Первый элемент задает длину тире, второй элемент задает длину пробела, третий элемент задает длину тире и так далее. В представленном выше примере: 5 – длина тире, 3 – длина пробела, 2 – длина тире, 1 – длина пробела.

Каждый элемент должен быть ненулевым положительным числом, в противном случае значение элемента заменяется единицей.

Для корректного отображения пользовательского паттерна необходимо, чтобы в массиве паттерна было четное количество элементов – 2, 4 и так далее. Если в массиве нечетное количество элементов, паттерн работает следующим образом (на примере массива 5,3,2): рисуется тире длиной 5, пробел длиной 3, тире длиной 2, пробел длиной 0, тире длиной 5 и т.д.

Пример пользовательского паттерна с нечетным количеством элементов

Если в массиве паттерна одно значение, то рисуется сплошная линия (по тому же принципу). Длина каждого тире и пробела в пользовательском паттерне является произведением значения элемента в массиве и толщины линии. Это означает, что при увеличении толщины линии будет увеличиваться длина тире и длина пробела.

Наглядно эту механику можно увидеть на примере ниже. Один и тот же пользовательский паттерн при различной толщине линии приводит к созданию совершенно разных стилей линий.

Пользовательский паттерн с разной толщиной линий

Поддерживается экспорт в PDF для объектов, использующих свойство DashPattern. Это расширяет возможность настроить стили линий и контуров при сохранении отчета в формате PDF.