Editing a gradient point alters parts of the gradient beyond adjacent points

  • 2
  • Problem
  • Updated 6 years ago
When editing a gradient, I expect each segment of the gradient to contain a blend between the two adjacent colour points. I assume that this is Adobe's expected behaviour also.

In practice, this is not the case. Colours can alter the appearance beyond the adjacent point, as seen below.

Photo of Marc Edwards

Marc Edwards

  • 130 Posts
  • 21 Reply Likes

Posted 6 years ago

  • 2
Photo of Marc Edwards

Marc Edwards

  • 130 Posts
  • 21 Reply Likes
Sean Patrick O'Brien (@obriensp) pointed out that this relates to the Smoothness parameter and the interpolation curve used for gradients. Setting Smoothness to 0 solves the colour issue.

So maybe this is a bug worth investigating. Or maybe it's not. Either way, I found the result to be unexpected and undesirable.
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 818 Reply Likes
It's a spline with smoothness > 0, so yes, it will have some effect on points outside the stops being changed. That isn't a bug, just the nature of the math available for smoothing the gradient.
Photo of Matt Kelsh

Matt Kelsh

  • 5 Posts
  • 1 Reply Like
Thanks, Chris. That's a valid point, if Photoshop were a calculator.

When I'm drawing a gradient, I need it to be the colour I specify, not the colour defined by the nature of math.

I see how this isn't a 'bug', but it'd be real good if you guys could find a way for this to not happen. I use your work every day - I see how pro you guys are! :D
Photo of Marc Edwards

Marc Edwards

  • 130 Posts
  • 21 Reply Likes
I think the key words are “unexpected and undesirable”.

I realise there may be many reasons why it may be a bad idea to change Photoshop's behaviour, but it seems likely a solution could be found that doesn't have the same issue (there's quite a few curve functions that might be appropriate, right?).

It's less of an issue now that I know the cause and can adjust Smoothness to suit, or find other workarounds. In a perfect world I'd rather points in a gradient didn't affect non-adjacent segments though.
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 818 Reply Likes
Sadly, we are constrained by the nature of math in what we can calculate.

If you want the gradient smooth, you will have to deal with some variations in color outside the immediate stop. That's part and parcial of the math needed to make the gradient smooth. All smoothing curves would have the same problem (and most would have worse problems).

If you set smoothness to zero, you can avoid the non-local color effects, but lose smoothness in the gradient.

You can see the same effect when adjusting a bezier spline segment -- it has to change the nearby segment to remain smooth.
Photo of Matt Kelsh

Matt Kelsh

  • 5 Posts
  • 1 Reply Like
Understood. Thanks for the reply.

If only there was some sort of tool I could use to deal with those variations in colour.