Please sign in to comment.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[symbology] Add support for rendering line pattern fills line-by-line
When exporting to a vector format (e.g. PDF) or when a line subsymbol has dynamic (data defined properties), automatically switch to a line-by-line based approach for rendering the fill instead of the previous raster tiled pattern based approach. While it's slower to render (not noticable for desktop users, but likely enough to affect server deployments), this has many benefits: 1. Smaller PDF/SVG output file sizes, since the fills aren't rasterized 2. PDF/SVG files which are easier to modify in external apps for post production, as each individual line in the pattern can be modified. 3. Better quality PDF/SVG outputs, since the fill isn't DPI dependant and looks awesome regardless of how close in you zoom 4. No visible artefacts at certain angles/distances/line symbol styles And even more excitingly, it opens the door for a range of new symbol styles, eg. - line patterns where the individual lines change color/width/dash/... - line patterns with marker line symbols on center point/etc - geometry generator effects per line, e.g. wavy line patterns, hand drawn line styles, etc Sponsored by North Road, thanks to SLYR Fixes #16100
- Loading branch information
Showing with 314 additions and 20 deletions.
- +6 −0 python/core/auto_generated/symbology/qgsfillsymbollayer.sip.in
- +180 −17 src/core/symbology/qgsfillsymbollayer.cpp
- +6 −1 src/core/symbology/qgsfillsymbollayer.h
- +122 −2 tests/src/core/testqgslinefillsymbol.cpp
- BIN .../control_images/symbol_linefill/expected_datadefined_subsymbol/expected_datadefined_subsymbol.png
- BIN ...pected_symbol_linefill_vector_large_negoffset/expected_symbol_linefill_vector_large_negoffset.png
- BIN ...pected_symbol_linefill_vector_large_posoffset/expected_symbol_linefill_vector_large_posoffset.png
- BIN ...ol_linefill/expected_symbol_linefill_vector_negangle/expected_symbol_linefill_vector_negangle.png
- BIN ..._linefill/expected_symbol_linefill_vector_negoffset/expected_symbol_linefill_vector_negoffset.png
- BIN ..._linefill/expected_symbol_linefill_vector_posoffset/expected_symbol_linefill_vector_posoffset.png
- BIN ...ol_linefill/expected_symbol_linefill_vector_viewport/expected_symbol_linefill_vector_viewport.png
- BIN ...ontrol_images/symbol_linefill/expected_symbol_vector_linefill/expected_symbol_vector_linefill.png
There are no files selected for viewing
Oops, something went wrong.