Toggle menu
15
236
75
27.6K
Kenshi Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

This template computes the saturation value in [0..1] in the HSL color space (as defined in standard CSS3), from a color specified in the sRGB color space. The returned value is rounded to three decimals (which preserves the precision of RGB colors whose components are specified in the standard range [0..255]).

Syntax
{{RGBtoHSL.S|r|g|b}}
The range of the three parameters is [0..255] ; they can be any numeric expressions.
{{subst:RGBtoHSL.S|r|g|b|subst=subst:}}
To substitute the template invokation by the compute value when saving an article Wiki source.
Algorithm used
if r = g and g = b then
S = 0;
else if g >= r and g >= b then
if r > b
then if g + b > 255 then S = (g - b) / (510 - g - b); else S = (g - b) / (g + b);
else if g + r > 255 then S = (g - r) / (510 - g - r); else S = (g - r) / (g + r);
else if r >= b and r >= g then
if r > g
then if r + g > 255 then S = (r - g) / (510 - r - g); else S = (r - g) / (r + g);
else if r + b > 255 then S = (r - b) / (510 - r - b); else S = (r - b) / (r + b);
else
if g > r
then if b + r > 255 then S = (b - r) / (510 - b - r); else S = (b - r) / (b + r);
else if b + g > 255 then S = (b - g) / (510 - b - g); else S = (b - g) / (b + g);
return S round 3;
Examples
  • "{{RGBtoHSL.S|0|0|0}}" returns "0".
  • "{{RGBtoHSL.S|255|255|255}}" returns "0".
  • "{{RGBtoHSL.S|255|0|0}}" returns "1".
  • "{{RGBtoHSL.S|255|1|0}}" returns "1".
  • "{{RGBtoHSL.S|255|127.5|0}}" returns "1".
  • "{{RGBtoHSL.S|255|255|0}}" returns "1".
  • "{{RGBtoHSL.S|127.5|255|0}}" returns "1".
  • "{{RGBtoHSL.S|0|255|0}}" returns "1".
  • "{{RGBtoHSL.S|0|255|127.5}}" returns "1".
  • "{{RGBtoHSL.S|0|255|255}}" returns "1".
  • "{{RGBtoHSL.S|0|127.5|255}}" returns "1".
  • "{{RGBtoHSL.S|0|0|255}}" returns "1".
  • "{{RGBtoHSL.S|127.5|0|255}}" returns "1".
  • "{{RGBtoHSL.S|255|0|255}}" returns "1".
  • "{{RGBtoHSL.S|255|0|127.5}}" returns "1".
  • "{{RGBtoHSL.S|255|0|1}}" returns "1".
  • example for "sandybrown" = "#F4A460" = "rgb(244, 164, 96)" = "hsl(27.6, 0.871, 0.667)"
"{{RGBtoHSL.S|244|164|96}}" returns "0.871".
  • same example using subst
"{{subst:RGBtoHSL.S|244|164|96|subst=subst:}}" returns "0.871".


See also