Учись программированию на C++ Builder бесплатно!

Процесс преобразования цвета из 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;
  }
}
}

Поиск по сайту