Jump to content

Recommended Posts

Thanks TonyB. One example I would use this for is the ability to create a long and winding shape, say a snake for example that you want to have an equal thickness throughout it winding length. I'd use the pen tool with a wide line thickness than outline the stroke to either further refine or add adjustments using the paint tools...

Share this post


Link to post
Share on other sites

Hello! It's been 4 years and a half since this thread began. Is it implemented yet? If yes, I can't find how to to it :) Thanks!

Share this post


Link to post
Share on other sites

Well I don't know about back in 2014, but hasn't this always been doable through the FX options?
Yes, it means rasterization , but the question was only "is there a way?" ;)

You can also get the "fill" result by using the stroke as a mask for a color or image/bitmap.

Share this post


Link to post
Share on other sites
On 1/17/2019 at 9:13 PM, JimmyJack said:

Well I don't know about back in 2014, but hasn't this always been doable through the FX options?
Yes, it means rasterization , but the question was only "is there a way?" ;)

You can also get the "fill" result by using the stroke as a mask for a color or image/bitmap.

Well I'm looking for creating a bezier path of the stroke outline, similar to outlining some characters. No pixels ;)

Share this post


Link to post
Share on other sites

Not sure if this is an answer for the above 
Make a selection -- say a square > select > outline (near bottom of list) > set the required width (hold cursor over window and use scroll wheel for narrow strokes) > fill with colour. Lower values of width may not show until ''apply'' is clicked 
use a new/separate layer so it can be edited 
questions / comments welcome
Cheers

 


 

Share this post


Link to post
Share on other sites
16 minutes ago, >|< said:

Layer > Expand Stroke, as stated in the fourth post of this thread.

If you want to do it with a Text object, first do Layer > Convert to Curves.

 

 

Hey @>|< . Since that didn't seem to satisfy before, I think(?) they're looking to put a stroke around textured vector brush strokes.

Share this post


Link to post
Share on other sites
14 hours ago, >|< said:

Layer > Expand Stroke, as stated in the fourth post of this thread.

If you want to do it with a Text object, first do Layer > Convert to Curves.

 

 

Well, "Convert to Curves" is precise and I use it. However "Expand Stroke" is not always precise, unfortunately. That's what I use now but I have to correct the path by hand after. You can see the difference in my screenshots. The red object is the stroked that I expanded with that function. You can see the difference with the yellow stroke.

Thanks anyway for you reply ;)

Screenshot 2019-01-19 at 15.22.00.png

1938410243_Screenshot2019-01-19at15_27_58.thumb.png.38696e9a7c7983a0b4fb7cccbfad86fc.png

 

 

Edited by Zaxonov
Better screenshot

Share this post


Link to post
Share on other sites
1 minute ago, >|< said:

In that case, your question should have been "when will the accuracy of Expand Stroke be improved?" since you already knew the command exists. :)

Well I'm not the OP of this thread and since my knowledge of Affinity Designer is very very low, maybe there was another way to do it precisely that I wasn't aware of...

Share this post


Link to post
Share on other sites
2 hours ago, Zaxonov said:

...maybe there was another way to do it precisely that I wasn't aware of...

A way to get more accuracy is to enlarge the object (make sure stroke is set to scale with) then expand the stroke and bring it back down in size.
Kind of a pita for sure, but it does work.

Or you can work larger in the first place, they are vectors after all :).
I know, I know... which begs the question "why doesn't Expand Stroke work at small scales in the first place? O.o
I wish it was the only problem Expand Stoke has!! It's a mess.

Share this post


Link to post
Share on other sites
12 minutes ago, >|< said:

It's as if the stroke expansion calculations are being done with quantities measured in document pixels with an insufficient number of decimal places.

 

Perhaps fixed instead of floating point decimals. Or the wrong flavour of float is being used somewhere. Caveat: I have forgotten more than I ever really knew about types.


MacBook Pro (13-inch, Mid 2012) Mac OS 10.12.6 || Mac Pro (Late 2013) Mac OS 10.14.5

Affinity Designer 1.7.0 | Affinity Photo 1.7.0 | Affinity Publisher beta 1.7.0.384 | Affinity Photo beta 1.7.1.138 | Affinity Designer Beta 1.7.0.14

Share this post


Link to post
Share on other sites
16 hours ago, Old Bruce said:

Caveat: I have forgotten more than I ever really knew about types.

Sans the last two words, that might be the perfect addition to my forum sig ... :S


Affinity Photo 1.7.1 & Affinity Designer 1.7.1; macOS High Sierra 10.13.6 iMac (27-inch, Late 2012); 2.9GHz i5 CPU; NVIDIA GeForce GTX 660M; 8GB RAM
Affinity Photo 1.7.0.135 & Affinity Designer 1.7.0.9 for iPad; 6th Generation iPad 32 GB; Apple Pencil; iOS 12.3.1

Share this post


Link to post
Share on other sites
18 hours ago, JimmyJack said:

A way to get more accuracy is to enlarge the object (make sure stroke is set to scale with) then expand the stroke and bring it back down in size.
Kind of a pita for sure, but it does work.

Or you can work larger in the first place, they are vectors after all :).
I know, I know... which begs the question "why doesn't Expand Stroke work at small scales in the first place? O.o
I wish it was the only problem Expand Stoke has!! It's a mess.

Thank you, that worked! I was indeed working from a picture of about 250 x 250 pixels in 72 DPI that I opened in Affinity to reproduce a character on it.

Just for the test, I chose 6 decimals of precision and scaled up my document to the max I could (256000 px). The stroke expansion took a fews seconds to compute and there's now an army of node points :D That's interesting.

I now just need to scale just a little bit up like 10x or 100x.

Thanks!

However, it would be interesting to understand why the Affinity team can't « extract » the curve that is generated to render the stroke width. 

 

Screenshot 2019-01-20 at 11.40.02.png

Share this post


Link to post
Share on other sites
1 hour ago, Zaxonov said:

However, it would be interesting to understand why the Affinity team can't « extract » the curve that is generated to render the stroke width. 

It may seem simple, but what really has to happen to achieve 'perfect' precision expansions is the curves have to be expanded orthogonally continuously (as opposed to piecewise, segment to segment) along their entire paths. Mathematically, that means every possible pair of nodes has to be orthogonal to the path, & there are infinitely many of them (because vectors are resolution independent, continuously variable mathematical entities).

So obviously there has to be a limit, ideally a "smart" one that adds neither too few or too many nodes to preserve a reasonable amount of accuracy, whatever shape the curve might have. Whatever Affinity is using now does not do this very well, perhaps because it relies too much on object size to decide what should be a reasonable amount of accuracy.


Affinity Photo 1.7.1 & Affinity Designer 1.7.1; macOS High Sierra 10.13.6 iMac (27-inch, Late 2012); 2.9GHz i5 CPU; NVIDIA GeForce GTX 660M; 8GB RAM
Affinity Photo 1.7.0.135 & Affinity Designer 1.7.0.9 for iPad; 6th Generation iPad 32 GB; Apple Pencil; iOS 12.3.1

Share this post


Link to post
Share on other sites
31 minutes ago, R C-R said:

It may seem simple, but what really has to happen to achieve 'perfect' precision expansions is the curves have to be expanded orthogonally continuously (as opposed to piecewise, segment to segment) along their entire paths. Mathematically, that means every possible pair of nodes has to be orthogonal to the path, & there are infinitely many of them (because vectors are resolution independent, continuously variable mathematical entities).

Yes, that's what the stroke might actually do and I understand why it's not trivial to achieve. But what I meant is, when we have a stroke at a certain width, we can see the limit of the stroke. This limit is, I suppose, a curve that Designer compute for rendering on screen and printing. And I guessed it's done in a different way so we can't get it as is. Or it's just not implemented. 

Share this post


Link to post
Share on other sites
1 minute ago, Zaxonov said:

But what I meant is, when we have a stroke at a certain width, we can see the limit of the stroke.

What we see is only an approximation of a mathematically defined stroke width, which would be precise at any magnification/resolution from infinitely small to infinitely large. The math doesn't concern itself with any real world limits without the help of some sort of sanity check(s), which I think is what needs work in the Affinity apps.


Affinity Photo 1.7.1 & Affinity Designer 1.7.1; macOS High Sierra 10.13.6 iMac (27-inch, Late 2012); 2.9GHz i5 CPU; NVIDIA GeForce GTX 660M; 8GB RAM
Affinity Photo 1.7.0.135 & Affinity Designer 1.7.0.9 for iPad; 6th Generation iPad 32 GB; Apple Pencil; iOS 12.3.1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×