added hexGradiant function for value based color readouts
This commit is contained in:
parent
a4d3afd265
commit
2ca87fbb55
@ -151,3 +151,34 @@ class buiWindow {
|
|||||||
function close () {
|
function close () {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function hexGradiant(
|
||||||
|
value=1,
|
||||||
|
low=0,
|
||||||
|
high=100,
|
||||||
|
rwave = n => (100 * Math.sin(n / 10)) + (n - 30) * 2,
|
||||||
|
gwave = n => (n - 50) * (n - 75) * (0 - 1) / 10 + 100,
|
||||||
|
bwave = n => (n - 25) * (n - 25) * (0 - 1) / 5 + 100
|
||||||
|
) {
|
||||||
|
var range = Math.max(0,Math.min(1,(value - low)/(high - low)))*100;
|
||||||
|
|
||||||
|
var r = rwave(range) * 2;
|
||||||
|
var g = gwave(range) * 2;
|
||||||
|
var b = bwave(range) * 2;
|
||||||
|
|
||||||
|
var brightness = 270; // out of 768 (white)
|
||||||
|
|
||||||
|
// Normaliz rgb values to within the brightness level
|
||||||
|
if (r+g+b < brightness) {
|
||||||
|
brightness -= (r+g+b);
|
||||||
|
r += (brightness/3);
|
||||||
|
g += (brightness/3);
|
||||||
|
b += (brightness/3);
|
||||||
|
}
|
||||||
|
|
||||||
|
return "#"+
|
||||||
|
parseInt(Math.min(Math.max(0,r),255).toFixed(0)).toString(16).padStart(2,"0")+
|
||||||
|
parseInt(Math.min(Math.max(0,g),255).toFixed(0)).toString(16).padStart(2,"0")+
|
||||||
|
parseInt(Math.min(Math.max(0,b),255).toFixed(0)).toString(16).padStart(2,"0");
|
||||||
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user