Update RGBToHSL.md
This commit is contained in:
@ -10,18 +10,27 @@ Converts a RGB color tuple to HSL format.
|
|||||||
- The range of the resulting values is H: [0, 360], S: [0, 100], L: [0, 100].
|
- The range of the resulting values is H: [0, 360], S: [0, 100], L: [0, 100].
|
||||||
|
|
||||||
```js
|
```js
|
||||||
const RGBToHSL = ((r, g, b) => {
|
const RGBToHSL = (r, g, b) => {
|
||||||
r /= 255;
|
r /= 255;
|
||||||
g /= 255;
|
g /= 255;
|
||||||
b /= 255;
|
b /= 255;
|
||||||
const l = Math.max(r, g, b);
|
const l = Math.max(r, g, b);
|
||||||
const s = l - Math.min(r, g, b);
|
const s = l - Math.min(r, g, b);
|
||||||
const h =
|
const h = s
|
||||||
(s) ? (l === r) ? (g-b)/s : (l === g) ? 2 + (b-r)/s : 4 + (r-g)/s : 0;
|
? l === r
|
||||||
return [ (60*h<0)?(60*h+360):(60*h) , 100*((s) ? (l<=0.5) ? s/((2*l-s)) : s/(2 - (2*l-s)) : 0), 100*(2*l-s)/2];
|
? (g - b) / s
|
||||||
|
: l === g
|
||||||
|
? 2 + (b - r) / s
|
||||||
|
: 4 + (r - g) / s
|
||||||
|
: 0;
|
||||||
|
return [
|
||||||
|
60 * h < 0 ? 60 * h + 360 : 60 * h,
|
||||||
|
100 * (s ? (l <= 0.5 ? s / (2 * l - s) : s / (2 - (2 * l - s))) : 0),
|
||||||
|
(100 * (2 * l - s)) / 2,
|
||||||
|
];
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
```js
|
```js
|
||||||
RGBToHSL(45, 23, 11); // [21.17647058823529, 60.71428571428573, 10.980392156862745]
|
RGBToHSL(45, 23, 11); // [21.17647, 60.71428, 10.98039]
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user