ELIAS
в RGB надо 1 переменная
точнее 3\4 обычного 4-байтового int'а, для HSL видимо тоже хватает 3\4 обычного int'а (они там угл всунули в 0-255 вроде как)
чтобы достать конкретные значения для определённого канала или вытаскивай байты или исправляй вот эти строчки в коде функций
...
Return (R Shl 16) Or (G Shl 8) Or B; Or $FF000000
...
HSL=(hv Shl 16) Or (sv Shl 8) Or lv; Or $FF000000
...
в них 3 байта запаковываются в один int