Перевод из hsv в rgb
Есть следующий код
unsigned char region, remainder, p, q, t;
if (this->saturation == 0)
{
red = this->value;
green = this->value;
blue = this->value;
return;
}
region = this->hue / 43;
remainder = (this->hue - (region * 43)) * 6;
p = (this->value * (255 - this->saturation)) >> 8;
q = (this->value * (255 - ((this->saturation * remainder) >> 8))) >> 8;
t = (this->value * (255 - ((this->saturation * (255 - remainder)) >> 8))) >> 8;
switch (region)
{
case 0:
{
red = this->value;
green = t;
blue = p;
}
break;
case 1:
{
red = q;
green = this->value;
blue = p;
}
break;
case 2:
{
red = p;
green = this->value;
blue = t;
}
break;
case 3:
{
red = p;
green = q;
blue = this->value;
}
break;
case 4:
{
red = t;
green = p;
blue = this->value;
}
break;
default:
{
red = this->value;
green = p;
blue = q;
}
}
На данный момент, максимальные значения hue, saturation и value 255. Как переделать этот код так, чтобы максимальное значение hue было 360, а saturation и value 100?