Skip to content

Instantly share code, notes, and snippets.

@skhaz
Created September 18, 2012 03:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save skhaz/3741040 to your computer and use it in GitHub Desktop.
Save skhaz/3741040 to your computer and use it in GitHub Desktop.
# -*- coding: utf-8 -*-
"""
Based upon www.splinter.com.au/converting-hsv-to-rgb-colour-using-c/
"""
from math import floor
def HSVtoRGB(h, s, v):
r, g ,b = 0, 0, 0
hf = h / 60.0
i = floor(hf)
f = hf - i
pv = v * (1 - s)
qv = v * (1 - s * f)
tv = v * (1 - s * (1 - f))
if i == 0:
r = v
g = tv
b = pv
elif i == 1:
r = qv
g = v
b = pv
elif i == 2:
r = pv
g = v
b = tv
elif i == 3:
r = pv
g = qv
b = v
elif i == 4:
r = tv
g = pv
b = v
elif i == 5:
r = v
g = pv
b = qv
else:
pass
red = max(0, min(255 * r, 255))
green = max(0, min(255 * g, 255))
blue = max(0, min(255 * b, 255))
return (red, green, blue)
def main():
for hue in xrange(360):
print '%02X%02X%02X' % HSVtoRGB(hue, 1, 1)
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment