1 | export 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 | };
|