PINE LIBRARY

Color

Updated
Utility for working with colors.

Get the luminosity of a color and determine the optimal (black or white) foreground color.
Release Notes
v2

Added:
equals(color a, color b) function that deals with na values.
Release Notes
v3

Added:
tostringRGBT(color)
  Converts a color value to a string in the "rgbt(r,g,b,t)" format.
  Parameters:
    color: The color to convert.
  Returns: The color value as a string.

toHexChar(n)
  Converts an integer between 0 and 15 to its hex equivalent character.
  Parameters:
    n: The integer value to convert.

byteToHex(n)
  Converts an integer from 0 to 255 to a 2-character hex string.
  Parameters:
    n: The integer value to convert.

toHex(color)
  Converts a color to its hex string (#FFFFFF).
  Parameters:
    color
  Returns: The six digit hex string.
Release Notes
v4

Updated:
getContrastColor(bgColor, keepNa)
  Returns a color that is either black or white depending on the luminosity of the given background color. If the background color is na, returns gray.
  Parameters:
    bgColor: The background color to determine the contrast color for.
    keepNa: When true and the value of bgColor is na the return value will be na; otherwise the if bgColor is na the return will be gray.
  Returns: A color that provides high contrast with the given background color.
Release Notes
v5
Release Notes
v6

Added:
brighten(c, value)
  Proportionally adjusts the RGB values of a color. A value of positive (+) 100 will result in white. A value of negative (-) 100 will result in black.
  Parameters:
    c: The color to adjust.
    value: The amount (-100 to +100) to adjust the color by. Values less than -100 or greater than +100 will be clamped.
  Returns: The resultant color.

darken(c, value)
  Proportionally adjusts the RGB values of a color. A value of positive (+) 100 will result in black. A value of negative (-) 100 will result in white.
  Parameters:
    c: The color to adjust.
    value: The amount (-100 to +100) to adjust the color by. Values less than -100 or greater than +100 will be clamped.
  Returns: The resultant color.
Release Notes
v7 Fixes to brighten
Release Notes
v8 Fixes to brighten
Release Notes
v9 Added extension syntax.
colorcolorsequalityHEXluminosityRGBtostring

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