HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/quadcode/frontend/node_modules/@csstools/convert-colors/lib/lab-lch.js
/* Convert between Lab and XYZ
/* ========================================================================== */

export function lab2lch(labL, labA, labB) {
	const [ lchC, lchH ] = [
		Math.sqrt(Math.pow(labA, 2) + Math.pow(labB, 2)), // convert to chroma
		Math.atan2(labB, labA) * 180 / Math.PI // convert to hue, in degrees
	];

	return [ labL, lchC, lchH ];
}

export function lch2lab(lchL, lchC, lchH) {
	// convert to Lab a and b from the polar form
	const [ labA, labB ] = [
		lchC * Math.cos(lchH * Math.PI / 180),
		lchC * Math.sin(lchH * Math.PI / 180)
	];

	return [ lchL, labA, labB ];
}

/*

References
----------

- https://www.w3.org/TR/css-color-4/#lch-to-lab
- https://www.w3.org/TR/css-color-4/#color-conversion-code

/* ========================================================================== */