UNPKG

551 BJavaScriptView Raw
1export const LightenDarkenColor = (col, amt) => {
2 let usePound = false;
3
4 if (col[0] === '#') {
5 col = col.slice(1);
6 usePound = true;
7 }
8
9 const num = parseInt(col, 16);
10
11 let r = (num >> 16) + amt;
12
13 if (r > 255) r = 255;
14 else if (r < 0) r = 0;
15
16 let b = ((num >> 8) & 0x00FF) + amt;
17
18 if (b > 255) b = 255;
19 else if (b < 0) b = 0;
20
21 let g = (num & 0x0000FF) + amt;
22
23 if (g > 255) g = 255;
24 else if (g < 0) g = 0;
25
26 return (usePound ? '#' : '') + (g | (b << 8) | (r << 16)).toString(16);
27};