00090 {
00091 double r,g,b;
00092 double m1, m2;
00093
00094 if(S == 0)
00095 {
00096 r = g = b = L;
00097 }
00098 else
00099 {
00100 if (L <= 0.5)
00101 m2 = L * (1.0 + S);
00102 else
00103 m2 = L + S - L * S;
00104
00105 m1 = 2.0 * L - m2;
00106
00107 r = HueToRGB(m1,m2,H+1.0/3.0);
00108 g = HueToRGB(m1,m2,H);
00109 b = HueToRGB(m1,m2,H-1.0/3.0);
00110 }
00111
00112 return RGB(r*255, g*255, b*255);
00113 }