In the latest update of FastReport .NET 2024.1, a new property called "DashPattern" has been added for PolyLineObject, PolygonObject, LineObject, and ShapeObject. This property allows users to define a custom pattern to create a unique line style in cases where the desired pattern is not available in the default set.
The custom pattern is represented by an array of values, which can be set through the collection editor or manually.
The elements in the array represent the length of each dash and the gap in the pattern.
The first element sets the length of the dash, the second element sets the length of the gap, the third element sets the length of the dash, and so on. In the example provided above: 5 represents the length of the dash, 3 represents the length of the gap, 2 represents the length of the dash, and 1 represents the length of the gap.
Each element should be a non-zero positive number; otherwise, its value is replaced with 1.
For the proper display of the custom pattern, the pattern array should have an even number of elements—2, 4, and so on. If the array has an odd number of elements, the pattern behaves as follows (using the example array 5, 3, 2): a dash of length 5 is drawn, followed by a gap of length 3, another dash of length 2, a gap of length 0, then a dash of length 5, and so on.
If there is one value in the pattern array, then a solid line is drawn (using the same principle). The length of each dash and gap in the custom pattern is the product of the array element value and the line thickness. It means that as the line thickness increases, the length of the dash and gap will also increase.
This mechanic can be visually observed in the example below. The same custom pattern, with different line thicknesses, creates completely different line styles.
PDF export is supported for objects that use the DashPattern property. It enhances the ability to customize line and outline styles when saving a report in PDF format.