Beispiel #1
0
NS_HSL2RGB(float h, float s, float l)
{
  PRUint8 r, g, b;
  float m1, m2;
  if (l <= 0.5f) {
    m2 = l*(s+1);
  } else {
    m2 = l + s - l*s;
  }
  m1 = l*2 - m2;
  r = PRUint8(255 * HSL_HueToRGB(m1, m2, h + 1.0f/3.0f));
  g = PRUint8(255 * HSL_HueToRGB(m1, m2, h));
  b = PRUint8(255 * HSL_HueToRGB(m1, m2, h - 1.0f/3.0f));
  return NS_RGB(r, g, b);  
}
Beispiel #2
0
	Color HSL2RGB(float h, float s, float l)
	{
		uint8 r, g, b;
		float m1, m2;
		if (l <= 0.5f) {
			m2 = l*(s + 1);
		}
		else {
			m2 = l + s - l*s;
		}
		m1 = l * 2 - m2;
		r = uint8(255 * HSL_HueToRGB(m1, m2, h + 1.0f / 3.0f));
		g = uint8(255 * HSL_HueToRGB(m1, m2, h));
		b = uint8(255 * HSL_HueToRGB(m1, m2, h - 1.0f / 3.0f));
		return ColorSetRGB(r, g, b);
	}