6

This issue may be related to Photoshop or to colour modes in general but this is what I am trying to figure out.

  • The image below is from a CMYK file with two layers.
  • It has two duo colour gradients.
  • Both gradients start and end with exactly the same hex value colours.

    1. The top gradient is one generated from in the open file using the gradient swatch shown in the image.

    2. The bottom gradient is copied from an RGB file and pasted into the CMYK file displayed in the image.

PROBLEM

The CMYK gradient clearly does not match the expected output indicted on the colour swatch.

QUESTION

  1. Why does the CMYK gradient appear to have an orange transition and not match either the output expected or that of the RGB gradient?

  2. How can the true gradient be created in photoshop from within a CMYK file?

RGB vs CMYK

NOTES

Its interesting to note that this does not appear to be a colour palette issue as the same thing occurs when a black to white alpha channel is created on top of a pure red layer.

The hex values used for this gradient are: #de1f26 to #ffffff


RECREATE THIS ISSUE

These steps create the issue.

  1. Create new file in CMYK mode.
  2. Draw a gradient on on the left side of the image. (gradient appears orange in middle as top gradient in image above.)
  3. Convert to RGB mode.
  4. Draw the same gradient on the right of the image. (There is a clear difference in the gradient transition.)
3
  • what happens when you make a rectangle with gradient overlay?
    – Naty
    Mar 11, 2015 at 12:14
  • @Naty Exactly the same issue. What appears to happen is the CMYK creates a flat colour with an alpha gradient overlay and so doesn't create a merging of the two colours in transition. I'm scratching my head to say the least.
    – DreamTeK
    Mar 11, 2015 at 12:25
  • Let us continue this discussion in chat.
    – Naty
    Mar 11, 2015 at 14:15

2 Answers 2

8

This was confusing at first but the striving for information has led me to a clearer understanding.

RGB vs CMYK

There is clear discrepency between gradients in RGB and CMYK this becomes clearer when you realise the palettes used by each colour mode are drasitcally different.

enter image description here

Colour consists of HUE, SATURATION and BRIGHNESS

RGB

RGB uses a single HUE pallete that transitions through BRIGHTNESS (y-axis in this image) and SATURATION (x-axis in this image)

RGB

CMYK

CMYK uses a single BRIGHTNESS palette that transitions through HUE and SATURATION

CMYK Palette

RESULT

As a result of the transition through the different palettes indicated by the blue arrows create a completely different gradient even though it is still a linear one for the palette that is in use.

1
  • 1
    This is a better answer its just a linear interpolation. Just to be clear this is not the way it has to be just how it happens to be. Theres no why. To answer to your question 2 make the gradient in a rgb file and then place that in a cmyk document.
    – joojaa
    Mar 12, 2015 at 14:52
8

RGB and CMYK are two different colour spaces. RGB is meant to represent the colours that can be produced with light using Red, Green and Blue dots. CMYK is way more limited. It is meant to represent colours that can be created with ink, but not with any ink but specifically mixing Cyan, Magenta, Yellow and Black.

The RGB space and the CMYK space have different gamuts. This means that there are colours that can be represented with RGB that cannot be represented with CMYK. Not every colour you can see on the screen can be printed using CMYK inks. Some are impossible to print.

The opposite is true as well, although to a lesser extent. A few CMYK colours are impossible to represent in RGB.

enter image description here

Image Source

When you set PS to CMYK mode, it restricts itself to work within the gamut of CMYK. This means that when you modify the colours it only creates results that can be printed, not colours outside the gamut. In particular, when you create CMYK gradients, PS tries to make sure that the gradient is printable from beginning to end; that every single spot of the gradient is a CMYK value that can be printed. It does this by reducing the amount of ink that needs to be used. In your case it goes from the CMYK value (4, 98, 88, 1) which is the CMYK version of your RGB colour, to (0,0,0,0), no ink at all. Probably it tries to make sure, as well, that the ink density decreases the same way for all inks. Not sure about this though.

The same gradient created in RGB mode has way more flexibility. PS can create a smoother gradation because it has more colours to choose. The result is that PS, in trying to make a nice gradient as smooth as possible, takes a completely different path while gradating from #de1f26 to #ffffff because it does not have to avoid unprintable colours.

Take a look at this image, for example:

enter image description here

The file at the top is RGB. The one at the bottom is CMYK. I started with the same colour in both cases and decreased the opacity of the circle in 25% increments. Notice how the colours that result are completely different in both cases.

Take a look at this now. This is the colour composition of both images, side by side. The first one is the RGB image and the second one the CMYK image.

enter image description here

Notice how, in the RGB image, the colour starts with no so much red but lots of green and blue. To create the gradient PS cannot play with the red too much, since there is not much to start with anyways, so the only thing it can do is to reduce the blue and green progressively, traversing through cooler colours (little red, lots of blue and green).

The CMYK image, though, starts with lots of Magenta and Yellow, but little Cyan. To create the gradient PS cannot play with the Cyan much, so it reduces the Magenta and Yellow, traversing through oranges (little cyan, lots of Magenta and Yellow).

Mind you, to make things way more confusing, the CMYK colour you see in PS is not a true CMYK colour, but an RGB representation of the CMYK colour. PS tries to make the best it can to represent how the colour would look if printed. The RGB colours, though, are true because the computer itself uses RGB.

4
  • Simply put Photoshop interpolates per channel, so because you have different channels the results are different. This is the easiest way to implement things*. There is no reason why Photoshop couldn't round trip the calculation via rgb and get exact same result it just doesn't do so (also no reason why Photoshop gradient tool couldn't let you specify other spaces like LAB or HSV for interpolation). I think bringing the gamut into this question is just pure superstition. * yes I'm implying what you think i am.
    – joojaa
    Mar 12, 2015 at 14:43
  • Haha! * crosses fingers and shoos black cat away * Well, in this case it could be an overshot to talk about gamut but just because the hues are reddish. In general, though, if you look at the gamut of both spaces, there are definitely cases in which the gradient in RGB would have to traverse over non CMYK values in order to be smooth, particularly green and blue values. And the same with those fringe CMYK rich orange values. Now, knowing you from previous answers... is there an alternative way to get accurate gradients away from the sanctified Adobe world? : ) please tell.
    – cockypup
    Mar 12, 2015 at 15:25
  • You could interpolate in lab space than then color cover that back to your original space. Anyway color interpolation is so vaguely defined that it does not make any sense to say right or wrong, just different. Also there is no reason why you couldn't use a bigger RGB space for example (yes the rgb space could be made bigger even tough there's no device that could display this). Or you know you could do it like Photoshop does it do in rgb convert to cmyk (since you start with cmyk you would always be within range. How do you define a accurate gradient?
    – joojaa
    Mar 12, 2015 at 16:18
  • Hmm. Interesting. Based on Wikipedia (I know, my sources are the best) a linear gradient is a series of colours defined by the colours of two points, A and B where the series is calculated using a linear interpolation. So I guess that would be a good definition. It does mention, though, that when the gradient is calculated in RGB it is often gamma compressed, which would make it non-linear in RGB. Now I want to go and calculate it myself to see what PS is actually doing. * sigh * My deadlines are going to suffer. Lol.
    – cockypup
    Mar 12, 2015 at 18:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.