Процесс преобразования цвета из HSV в RGB в C++ Builder достаточно прост и быстр. Сам процесс приведен программным кодом:
void HSV2RGB(unsigned char &r, unsigned char &g, unsigned char &b, unsigned int i_hue, unsigned char sat, unsigned char val)
{
int ii;
double fr, hue;
unsigned char c1, c2, c3;
if (!sat)
r = g = b = val;
else
{ /* Хроматический цвет */
while (i_hue >= 360)
i_hue -= 360;
hue = i_hue;
ii = (int)(hue /= 60.0);
fr = hue - ii;
c1 = (val * (255 - sat)) / 255;
c2 = (val * (255 - sat * fr)) / 255;
c3 = (val * (255 - sat * (1.0 - fr))) / 255;
switch (ii)
{
case 0: r = val; g = c3; b = c1; break;
case 1: r = c2; g = val; b = c1; break;
case 2: r = c1; g = val; b = c3; break;
case 3: r = c1; g = c2; b = val; break;
case 4: r = c3; g = c1; b = val; break;
case 5: r = val; g = c1; b = c2; break;
}
}
}