-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Description
For example:
type HSX = [number, number, number];
/**
* function hsv2hsl
* @param h {Number} hue value 0...360
* @param s {Number} saturation 0...1
* @param v {Number} value 0...1
* @returns {Array} h:0...360 s:0...1 l:0...1
*/
export const hsv2hsl = (
h: number,
s: number,
v: number,
l: number = v - (v * s) / 2,
m = Math.min(l, 1 - l)
): HSX => {
if (h < 0 || h > 360) {
throw new Error(
`hsv2hsl() hue parameter is expected to be a number between 0 and 360, \`${h}\` given.`
);
}
// ...
return [h, m ? (v - l) / m : 0, l];
};Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels