def hsl_to_rgb(h, s, l): farbe=[0,0,0] h=h/360 l=l/100 s=s/100 if s == 0.0: farbe[0]=farbe[1]=farbe[2]=l*255 if l <= 0.5: q = l * (1.0+s) else: q = l+s-(l*s) p = 2.0*l - q farbe[0]=int(_h(p, q, h+1/3)*255) farbe[1]=int(_h(p, q, h)*255) farbe[2]=int(_h(p, q, h-1/3)*255) return farbe def _h(p, q, hue): hue = hue % 1.0 if hue < 1/6: return p + (q-p)*hue*6.0 if hue < 0.5: return q if hue < 2/3: return p + (q-p)*(2/3-hue)*6.0 return p