RicardoSantos

ColorExtension

RicardoSantos Wizard Updated   
Library "ColorExtension"
Color Extension methods.

hsl(hue, saturation, lightness, transparency) HSL color transform.
Parameters:
  • hue: float, hue color component, hue is a degree on the color wheel from 0 to 360. 0 is red, 120 is green, 240 is blue.
  • saturation: float, saturation color component, saturation is a percentage value, 0 means a shade of gray and 100 is the full color.
  • lightness: float, lightness color component, Lightness is also a percentage; 0 is black, 100 is white.
  • transparency: float, transparency color component, transparency is also a percentage; 0 is opaque, 100 is transparent.
Returns: color

rgb_to_hsl(red, green, blue) Convert RGB to HSL color values
Parameters:
  • red: float, red color component.
  • green: float, green color component.
  • blue: float, blue color component.
Returns: tuple with 3 float values, hue, saturation and lightness.

complement(primary) Complementary of selected color
Parameters:
  • primary: color, the primary
Returns: color.

invert(primary) Inverts selected color.
Parameters:
  • primary: color, the primary.
Returns: color.

is_cool(base) Color is cool or warm.
Parameters:
  • base: color, the color to check.
Returns: bool.

temperature(base) Color temperature.
Parameters:
  • base: color, the color to check.
Returns: bool.

is_high_key(base) Color is high key (orange yellow green).
Parameters:
  • base: color, the color to check.
Returns: bool.

mix(base, mix, rate) Mix two colors together.
Parameters:
  • base: color, the base color.
  • mix: color, the color to mix.
  • rate: float, default=0.5, the rate of mixture, range within 0.0 and 1.0.
Returns: color.

analog(primary) Selects 2 near spectrum colors (H +/- 45).
Parameters:
  • primary: color, the base color.
Returns: tuple with 2 colors.

triadic(primary) Selects 2 far spectrum colors (H +/- 120).
Parameters:
  • primary: color, the base color.
Returns: tuple with 2 colors.

tetradic(primary) Uses primary and the complementary color, + 60º to form a rectangular pattern on the color wheel.
Parameters:
  • primary: color, the base color.
Returns: tuple with 3 colors.

square(primary) Uses primary and generate 3 equally spaced (90º) colors.
Parameters:
  • primary: color, the base color.
Returns: tuple with 3 colors.
Release Notes:
updated description.
Release Notes:
added new functions:

shift_hue(base, angle) Shift the hue/angle of the provided color.
Parameters:
  • base: color, base color.
  • angle: float, angle to shift the hue of the base color.
Returns: color.

saturate(base, rate) Saturate the provided color by a rate of the difference to its maximum.
Parameters:
  • base: color, base color.
  • rate: float, default=0.5, rate to saturate the base color (the higher the saturation of the color the less the effect).
Returns: color.

desaturate(base, rate) Desaturate the provided color by a rate of the difference to its minimum.
Parameters:
  • base: color, base color.
  • rate: float, default=0.5, rate to desaturate the base color (the lower the saturation of the color the less the effect).
Returns: color.

lighten(base, rate) lighten the provided color by a rate of the difference to its maximum.
Parameters:
  • base: color, base color.
  • rate: float, default=0.5, rate to lighten the base color (the higher the lightness of the color the less the effect).
Returns: color.

darken(base, rate) darken the provided color by a rate of the difference to its minimum.
Parameters:
  • base: color, base color.
  • rate: float, default=0.5, rate to darken the base color (the lower the lightness of the color the less the effect).
Returns: color.
Release Notes:
improved some code and added:
color_to_hsl(base) Convert the provided color into HSL values.
Parameters:
  • base: color, base color.
Returns: tuple with 3 floats.
Pine library

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House Rules.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this library?

Copy the following line and paste it in your script.