Is there a way to find a lighter and darker shade of a RGB color programmatically?

Wilhelm Sanke sanke at hrz.uni-kassel.de
Thu Feb 16 14:15:20 EST 2012


On Wed Feb, 2012, Keith (Gulf Breeze Ortho Lab) keith at 
gulfbreezeortholab.com wrote:

> Hi All,
>
> I have a problem... If a user selects a color and I put it into a 
> variable (as RGB), how can I find a shade that is several shades 
> lighter, and a shade that is several shades darker, also in RGB format?
>
> For example, I put 0,255,64 into myVar. (This color a shade of green.) 
> Programmatically, how can I find a shade that is several shades 
> lighter in green and a shade that is several shades darker in green 
> from this base color?
>
> (By the way... Is there a way in LiveCode to determine the hue of a 
> color and change the value?)
>
> Any help would be most appreciated...
>
> Thanks!
>
> - Boo


The revcolorchooser stack (in folder Toolsets) contains the old 
conversion scripts of Scott Raney "function RGBtoHSV r, g, b" and - the 
other way round - "function HSVtoRGB h, s, v" (in group "HSV").

Convert you RGB color to HSV and to darken or brighten, just change the 
V-value. For changing the hue values, use H.
Then convert your values back to RGB.
These procedures work rather slowly when you work with whole images and 
not a single color.


A much faster solution is  using "Quasimondo RGB-to-HSL and HSL-to-RGB 
conversions"
<http://quasimondo.com/> and article "Converting RGB to HSL differently".
For brightening and darkening use the "luminance" value L.

Finally you could use my "brighten/darken" button of my old "Imagedata 
Toolkit" <http://www.sanke.org/software/ImagedataToolkitPreview3.zip>

Best regards,

Wilhelm Sanke





More information about the use-livecode mailing list