HSV and HSL gradient Tools ( Built-in Drop-in replacement )

Güncellendi
Library "hsvColor"
HSV and HSL Gradient Tool Alternatives and helpers. Demo'd is built-in in the middle with HSL/HSV gradients on top/bottom

TODO: Solve for #000000 issue

rgbhsv(_col)
  RGB Color to HSV Values
  Parameters:
    _col: Color input (#abc012 or color.name or color.rgb(0,0,0,0))
  Returns: [h,s,v,a] values

rgbhsv(_r, _g, _b, _t)
  RGB Color to HSV Values
  Parameters:
    _r: Red 0 - 255
    _g: Green 0 - 255
    _b: Blue 0 - 255
    _t: Transp 0 - 100
  Returns: [h,s,v,a] values

hsv(_h, _s, _v, _a)
  HSV colors, Auto fix if past boundaries
  Parameters:
    _h: Hue Input (-360 - 360) or further
    _s: Saturation 0.- 1.
    _v: Value 0.- 1.
    _a: Alpha 0.- 1.
  Returns: Color output

hue(_col)
  returns 0-359 hue on color wheel
  Parameters:
    _col:
  Returns: 360 degree hue value

hsv_gradient(signal, _startVal, _endVal, _startCol, _endCol)
  Color Gradient Replacement Function for HSV calculated Gradents
  Parameters:
    signal: Control signal
    _startVal: start color limit
    _endVal: end color limit
    _startCol: start color
    _endCol: end color
  Returns: HSV calculated gradient

hsl_gradient(signal, _startVal, _endVal, _startCol, _endCol)
  Color Gradient Replacement Function for HSV calculated Gradents
  Parameters:
    signal: Control signal
    _startVal: start color limit
    _endVal: end color limit
    _startCol: start color
    _endCol: end color
  Returns: HSV calculated gradient
Sürüm Notları
v2

hsl/inv Upgrades..

Added:
rgbhsl(_col)
  HSL vals from rgb col in
  Parameters:
    _col: The Color
  Returns: HSLA tuple out

hsl(h, s, l)
  HLS input to color output
  Parameters:
    h: hue
    s: saturation
    l: lightness
  Returns: The RGB Color

relativeluminance(color)
  Parameters:
    color: (hex,rgb,color.___)
return float

hsvInvert(_color)
  Invert a color with hsv method (original experimental)
  Parameters:
    _color: color input
  Returns: inverted color

hslInvert(_color)
  Invert a color with hsl method (original experimental)
  Parameters:
    _color: color input
  Returns: inverted color
Sürüm Notları
new image for demo.
Sürüm Notları
v4
UPDATED
Rewrote HSL chain and fixed problems with out of limit values
should be bulletproofed now and is faster than it was

thanks @NeonTL8 for notifying me of the problem.



Library "hsvColor"
HSV and HSL Gradient Tool Alternatives

rgbhsv(_col)
  RGB Color to HSV Values
  Parameters:
    _col: Color input (#abc012 or color.name or color.rgb(0,0,0,0))
  Returns: [h,s,v,a] values

rgbhsv(_r, _g, _b, _t)
  RGB Color to HSV Values
  Parameters:
    _r: Red 0 - 255
    _g: Green 0 - 255
    _b: Blue 0 - 255
    _t: Transp 0 - 100
  Returns: [h,s,v,a] values

hsv(_h, _s, _v, _a)
  HSV colors, Auto fix if past boundaries
  Parameters:
    _h: Hue Input (-360 - 360) or further
    _s: Saturation 0.- 1.
    _v: Value 0.- 1.
    _a: Alpha 0.- 1.
  Returns: Color output

hue(_col, _rotate)
  returns 0-359 hue on color wheel
  Parameters:
    _col:
    _rotate: Turn output by N degrees (+/-)
  Returns: 360 degree hue value

rgbhsl(_col)
  HSL vals from rgb col in
  Parameters:
    _col: The Color
  Returns: HSLA tuple out

hsl(h, s, l)
  HLS input to color output
  Parameters:
    h: hue
    s: saturation
    l: lightness
  Returns: The RGB Color

relativeluminance(color)
  Parameters:
    color: (hex,rgb,color.___)
  Returns: float

hsvInvert(_color)
  Invert a color with hsv method (original experimental)
  Parameters:
    _color: color input
  Returns: inverted color

hslInvert(_color)
  Invert a color with hsl method (original experimental)
  Parameters:
    _color: color input
  Returns: inverted color

hsv_gradient(signal, _startVal, _endVal, _startCol, _endCol)
  Color Gradient Replacement Function for HSV calculated Gradents
  Parameters:
    signal: Control signal
    _startVal: start color limit
    _endVal: end color limit
    _startCol: start color
    _endCol: end color
  Returns: HSV calculated gradient

hsl_gradient(signal, _startVal, _endVal, _startCol, _endCol)
  Color Gradient Replacement Function for HSV calculated Gradents
  Parameters:
    signal: Control signal
    _startVal: start color limit
    _endVal: end color limit
    _startCol: start color
    _endCol: end color
  Returns: HSV calculated gradient
Sürüm Notları
v5
upgrades, bugfixes


Added:
hslimit(_h, _s, _vl, _a)
  Parameters:
    _h: h input to limit signals before using color.
    _s: s input to limit signals before using color.
    _vl: v input to limit signals before using color.
    _a: a input to limit signals before using color.

bright(col)
  Calculate Brightness Level of color.
  Parameters:
    col: (hex,rgb,color.___)
  Returns: float brightness level

tripswitch(_color, _th, _colora, _colorb)
  Switch between colors based on Color Brightness
  Parameters:
    _color: color control signal
    _th: threshold for switch between colors
    _colora: if below threshold (default white)
    _colorb: if above threshold (default black)
  Returns: Contrasting color switched by input control color
Sürüm Notları
v6
Bugs Squished on out-of-boundaries input values.
Sürüm Notları
v7

For those interested in the color math, renamed all variables.
minified version available if requested/required

Also moved gradient calc to function from calc library,
on 0 distance between start and end it will default to first color.
i suggest iff you want to maintain on cross, use this:
abbv versio:


Have an indicator you wish to style? send me a message :)

Sürüm Notları
v8

Added two Helpful tools for creating multileveled colors

Current (nov 2022) Demo image is 100% original non-standard indicators, an same script with different sources and parameters..

built minimal using these two new tools, and 8 fills with 9colors each layer fades to a gradient of the last.
Sürüm Notları
v8
Sürüm Notları
v10
fixed bug on crossing end of gradient value and beginning value which caused hue glitch.

thanks @NeonTL8
Sürüm Notları
v11
update small to fix an otherwise non-noticed brightness glitch

anlık görüntü
Sürüm Notları
v14

Sorry! accidental wrong version published ..
upgrades and nitpick fixes (0 hue transp cols)
Sürüm Notları
v15

for found bug on pinned values on gradients when past limits and saturation is 0 on one and full on other.
Sürüm Notları
v16


Faster. Way faster.
beautifulcolorcolorsdisplaygradientHSLHSVRGB

Pine kitaplığı

Gerçek TradingView ruhuyla, yazar bu Pine kodunu açık kaynaklı bir kütüphane olarak yayınladı, böylece topluluğumuzdaki diğer Pine programcıları onu yeniden kullanabilir. Yazar çok yaşa! Bu kütüphaneyi özel olarak veya diğer açık kaynaklı yayınlarda kullanabilirsiniz, ancak bu kodun bir yayında yeniden kullanılması Ev kuralları tarafından yönetilir.

Feragatname