al_color_lab man page
al_color_lab — Allegro 5 API
#include <allegro5/allegro_color.h> ALLEGRO_COLOR al_color_lab(float l, float a, float b)
Return an ALLEGRO_COLOR(3) structure from CIE L*a*b* values. The L* component corresponds to luminance from 0..1. The a* and b* components are in the range -1..+1.
The L*a*b* color space can represent more colors than are visible in sRGB and therefore conversion may result in RGB values outside of the 0..1 range. You can check for that case with al_is_color_valid(3).
In some literature the range of L* is 0 to 100 and a* and b* are from -100 to +100. In that case divide all components by 100 before passing them to this function.
al_color_distance_ciede2000_lab(3), al_color_lab_to_rgb(3), al_color_rgb_to_lab(3).