Re: [Gimp-developer] Adding better LCH support to GIMP 2.10

On 02/07/2016 06:28 PM, Alexandre Prokoudine wrote:
I can see how this would
irritate people who want numeric inputs for everything though.

I do like numbers.

LCH Color Picker for picking colors "by the numbers":

Maybe most GIMP users are good at picking colors out of thin air, but personally I appreciate any help I can get. Fortunately the internet is a treasure trove of color information, and an LCH color picker makes it easy for digital artists to use this information.

Consider painting a picture of a blue sky and some vegetation. A nice first step is to make some appropriate blue and green color swatches:

According to the website, "the average sky chromaticity . . . correspond[s] to a dominant wavelength of about 470 to 475 nm" ( These wavelengths correspond to a JCH Hue of around 247 ( and an LCH Hue of around 252.

It would be better if GIMP could have a JCH color picker, but JCH and LCH colors are not usually too far apart, and using LCH is infinitely better than pretending that HSV hues actually mean anything.

An LCH color picker makes it simple to use the LCH sky hue of 252 to create a set of sky blue color swatches:

Here's what results from trying to make "sky blue with LCH hue 252" using the HSV color picker (sorry, these colors are pathetically wrong):

Color information from the internet also can be used to make color swatches for typical vegetation colors:

* This website says that green plants reflect light in the 500 to 600 nanometer range: (also see

* The watercolor website's "tour of the color wheel" ( provides wavelength and JCH Hue information for watercolor pigments, and colors from 500 to 600 nm cover the JCH Hue range from around 110 to 170. Fortunately the LCH Hue range is not too far off from the JCH Hue range, so I'll assume the LCH Hues are "close enough".

Putting these numbers together with the LCH color picker makes it very easy to construct a set of color swaths for painting vegetation:

Using HSV and dialing in these same Hue values produces decidedly more blue shades of green (yellow-greens are completely missing):

You can't use an HSV color picker to pick colors based on LCH/JCH color information. So the internet treasure trove of color information is pretty much out of reach for anyone who doesn't have access to an LCH/JCH color picker.

LCH Hue-Chroma tool for modifying colors:

RGB-based tools for modifying saturation also change hues at the same time. This is exactly why I coded up GIMP LCH color picker and Hue-Chroma tools. I had picked a particular shade of blue from a photograph to use for colorizing the sky portions of a black and white image. I wanted to modify the lightness and increase the saturation but keep the hue visually the same. Every attempt to to keep the hue constant and only change the lightness and saturation ended up shifting the hue towards violet. shows "unique colors" on the LCH color wheel. "Unique blue" is that shade of blue that most people would say is neither slightly on the green side nor slightly on the violet side of blue, "unique red" is neither slightly orange nor slightly magenta, and so on. An internet search turns up quite a lot of research into the topic of unique colors (for example

The following graphic shows why adding saturation using the usual RGB tools (HSV, Channel Mixer, etc) *always* shifts color hues in various directions - blues move towards violet, bluer greens get more yellow, and so forth: - the small dots are sRGB's Reddest Red, Bluest Blue, etc, and the large dots are unique red, unique blue, etc.

When located on the LCH color wheel, sRGB "Blue" isn't even blue at all. It's blatantly violet. sRGB Red is an orange-red. And sRGB Green is decidedly on the yellow side of green.

One major problem with using sRGB/HSV to pick colors for painting and graphic design is that the colors we pick tend to get pushed towards the rather warped representations of blue, green, yellow, and red that are defined by the sRGB primaries (warped from the point of view of picking colors for painting - color space primaries from other RGB working spaces are not any better). An LCH color picker provides a way to choose colors based on how we actually perceive colors out there in the real world.

For adding saturation to a photographic image, GIMP's new Saturation tool ("Colors/Saturation") is excellent because it operates on LAB/LCH instead of RGB. But for modifying the Hue, Chroma ("saturation"), and Lightness of a solid color (for example a color swatch color for digital painting or a solid color blending layer for colorizing a black and white image) or a small range of hues, GIMP needs a dedicated LCH Hue-Chroma tool.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]