13

The current color scheme for my desktop uses a red palette. I would like to change it into something green instead so I went through the color scheme configuration file and "rotated" all color values so that RGB becomes BRG. For example, (214,73,55) becomes (55,214,73).

The impression I got was that the green color scheme looked way brighter than the old red color scheme. Apparently this is because we perceive the different colors with different intuitive brightness levels. Is there a formula I can use instead of a simple RGB rotation that will keep the same apparent brightness for the green version of the color scheme? Are there guidelines as to how to best convert a whole set of colors from one base hue to another?

Original color scheme

New color scheme

  • Can you give an example which has the red like you have it as well as a sample of how the green looks? – Zach Saucier Mar 25 '15 at 18:51
  • 1
    This seems much too broad to answer - Color theory is a very deep topic. Essentially, you want to alter Hue but leave Saturation and value alone. This may be helpful: graphicdesign.stackexchange.com/questions/27723/… – Scott Mar 25 '15 at 18:55
  • 1
    If the Dress illusion taught us anything its that different people, and even different environments will perceive things differently. There can be no formulaic answer to this question as a result. You are correct that all you changed was Hue as evident by converting your RGB to HSB. But it's not that simple. – Ryan Mar 25 '15 at 19:46
  • 2
    use a darker green? – DA01 Mar 25 '15 at 20:33
  • 2
    Also, like a lot of GD questions, the answer is more often "use your eyes instead of the math". Math is great and a good start to objectively accomplishing something, but at the end of the day, trust your eyes and tweak accordingly. – DA01 Mar 25 '15 at 20:34
16

Your observation is correct. The lightness (the human perception of brightness) of green is larger than the lightness of red.

In your example, when you shift the sRGB value 214,73,55 to 55,214,73 (i.e. you rotate the hue from 7° to 127°), the brightness remains constant at 84 % but the lightness is increased. The original sRGB value 214,73,55 corresponds to a lightness of 52; the new sRGB value 55,214,73 corresponds to a lightness of 76.

d64937 37d649

You may want to consider using the CIE L*a*b* colour model (Lab), which is based on the human perception of colour, in order to correct the lightness of the new colour.

Using the Lab model, you may directly reduce the lightness of the new colour to 52, which yields the sRGB value 0,147,0. However, this also increases the saturation of the colour.

009300

Alternatively, you may reduce the brightness of the new colour until a lightness of 52 is obtained, which yields the sRGB value 37,143,49. This ensures that hue and saturation of the colour are preserved.

258f31

  • Thanks! The version that preserves the saturation is exactly the sort of thing I was looking for. – hugomg Mar 25 '15 at 21:12
  • 1
    Is there a LAB-based HSL model (e.g. a polar-coordinate version of the A/B plane)? – Random832 Mar 25 '15 at 22:55
  • 1
    @Random832 yes, it's called LCH (Lightness/Chroma/Hue), or more specifically LCHab to distinguish it from LCHuv. It's a cylindrical space where L stays the same, and CH are a polar version of ab. LCHuv is the same thing based on the CIELUV color space instead. – hobbs Mar 26 '15 at 0:24
5

Basically, you want to use a different model.

Photoshop reports your red RGB(214,73,55) as HSB(7,74,84) and Lab(52,55,42). Scott's comment is probably referencing the "Hue axis" of the HSB color picker.

Lab is supposed to model human perception. There are multiple versions, but for the photoshop color picker, ranges are L=0-100; a & b are -128-127 inclusive. The "a axis" models -green to +magenta. The "b axis" models -blue to +yellow. The "L axis" models lightness.

If you change the sign on the "a" component of Lab to Lab(52,-55,42) you get a green that is pretty close in tone to your red when using the Squint Test.

Wikipedia has a breakdown of the conversions (and footnote to the source docs) if you want to roll your own function.

I think you will probably find an algorithm for coordinated color without human approval very difficult.

  • Thanks, apparently the device-dependentness of the LAB color values mean that I can't use a magic formula for the general case but the suggestion you made also passed the squint test for me :) Its going to be a very good starting point for my trial-and-error process. – hugomg Mar 25 '15 at 20:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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