From bb4b2bc484ed1d827d707a5a50b234d6994af90c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Manuel=20Tom=C3=A1s?= Date: Mon, 24 Jul 2023 00:09:53 -0300 Subject: Add char, color and name transformers --- color.lisp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 color.lisp (limited to 'color.lisp') diff --git a/color.lisp b/color.lisp new file mode 100644 index 0000000..d9ed800 --- /dev/null +++ b/color.lisp @@ -0,0 +1,28 @@ +(in-package #:color) + +(defun hsl->rgb (h s l) + (let* ((c (* (- 1 (abs (- (* 2 l) 1))) s)) + (x (* c (- 1 (abs (- (mod (/ h 60) 2) 1))))) + (m (- l (/ c 2))) + (r m) + (g m) + (b m)) + (cond ((<= 0 h 59) + (incf r c) + (incf g x)) + ((<= 60 h 119) + (incf r x) + (incf g c)) + ((<= 120 h 179) + (incf g c) + (incf b x)) + ((<= 180 239) + (incf g x) + (incf b c)) + ((<= 240 299) + (incf r x) + (incf b c)) + ((<= 300 359) + (incf r c) + (incf b x))) + (values r g b))) -- cgit v1.2.3