

Or see the list of project sponsors.
| Documentation | 😀 |
| Docstrings | 😀 |
| Tests | 🥺 |
| Examples | 🥺 |
| RepositoryActivity | 🥺 |
| CI | 🥺 |
Two days ago I wrote about Dufy - the color manipulation library. While preparing that post, I found another library which is more practical if you need to work only with RGB.
It is able to convert to and from string representation and has some function for color manipulation.
For example, it has a builtin function similar to the one I wrote in the post about Dufy:
POFTHEDAY> (simple-rgb:parse "#F4BBFF")
#(244 187 255)
POFTHEDAY> (simple-rgb:darken-rgb * :alpha 0.25)
#(183 140 191)
POFTHEDAY> (simple-rgb:xmlify-rgb *)
"#B78CBF"The result is the same:
Also, there are other functions for color manipulation:
POFTHEDAY> (flet ((h (c)
(simple-rgb:xmlify-rgb c)))
(let ((color (simple-rgb:parse "#F4BBFF")))
(list
:original (h color)
:grayscale (h (simple-rgb:greyscale-rgb color))
:complement (h (simple-rgb:complement-rgb color))
:inverted (h (simple-rgb:invert-rgb color))
:contrasted (h (simple-rgb:contrast-rgb color))
:lighter (h (simple-rgb:lighten-rgb color))
:darker (h (simple-rgb:darken-rgb color))
:greener (h (simple-rgb:mix-rgb
color
(simple-rgb:parse "#00FF00")
:alpha 0.25)))))
(:ORIGINAL "#F4BBFF"
:GRAYSCALE "#D4D4D4"
:COMPLEMENT "#C6FFBB"
:INVERTED "#0B4400"
:CONTRASTED "#FFFFFF"
:LIGHTER "#FADDFF"
:DARKER "#7A5E80"
:GREENER "#B7CCBF")So, if want just to play with RGB colors, this library is exactly what you need!