Explain some colour spaces here.
procedure ColorToRGB(Color: integer; var r, g, b: Integer);
function RGBtoColor(r, g, b: Integer): TColor;
procedure ColorToHSL(Color: Integer; var h, s, l: Extended);
function HSLToColor(H, S, L: Extended): TColor;
procedure ColorToXYZ(Color: Integer; var x, y, z: Extended);
function XYZToColor(X, Y, Z: Extended): TColor;
procedure RGBToHSL(R, G, B: Integer; var h, s, l: Extended);
procedure HSLtoRGB(H, S, L: extended; var R, G ,B: Integer);
procedure RGBToXYZ(R, G, B: Integer;var x, y ,z: Extended);
procedure XYZToRGB(X, Y, Z: Extended; var R, G, B: Integer);