Search the Community
Showing results for tags 'stroke start/end'.
Found 2 results
I have a round cap style arrow (red) that I want to terminate at exactly the end of the line, so that it lines up properly with the heads of other arrows (blue), as you see below: However, this is not the default behavior of Affinity, which actually does this: Of course, you can manually offset, in this case moving the rear of the arrow 4 pixels up. That will make it look like this: But this is not a good solution, since this 4-pixel offset will not be preserved when the arrow (or a symbol it is part of) is transformed. The way I got the first image was quite hacky and doesn't really work properly: it was to choose an arrow head ("barbed") and shrink it to 33.33% so that it falls within the stroke itself and you can't see it. This for some reason changes the behavior of Affinity so that it starts the rounded cap at exactly the endpoint. Unfortunately, this this hacky solution doesn't actually work in important cases. For example, here the the barb is revealed as soon as you use dashing on the red line (the dashing doesn't show up here as it is too coarse): I can't think of any other way of getting the right behavior here... The obviously missing feature seems to be a fourth kind of cap, a "round flush cap" (the "flush" option is already available for square caps, so it's odd that it isn't available for round caps). I've mocked it up here, it's the second one from the left, the meaning should be pretty clear: An alternate missing feature that would accomplish the same thing is simply a "rounded cap" arrowhead that does nothing more than appear as a filled circle with exactly the same width as the stroke. Unfortunately you cannot use the existing filled circle arrowheads to do this properly, since when you set the filled circle arrowhead to 33.33%, which makes it match the stroke width, the three different kinds of stroke all end at slightly the wrong points (from left to right we have square cap, rounded cap, and flush square cap):