Umwandeln von HSV zu RGB funktioniert - aber anders herum? Ist das optimal?
Verfasst: Montag 31. Januar 2022, 16:31
Halli Hallo,
mit dem folgenden Code kann man wunderbar von HSV zu RGB umrechnen.
Bedingung: Hue [0...360], Sat [0...100], Val [0...100]
nur mit der Umrechnung in die andere Richtung tue ich mich schwer. Hat jemand da einen anderen guten Ansatz?
Colorsys gibt eine Tuple zurück.
mit dem folgenden Code kann man wunderbar von HSV zu RGB umrechnen.
Bedingung: Hue [0...360], Sat [0...100], Val [0...100]
Code: Alles auswählen
import colorsys
Code: Alles auswählen
def hsv_to_rgb(hue, sat, val):
hue = hue / 360
sat = sat / 100
val = val / 100
return = tuple(round(i * 255) for i in colorsys.hsv_to_rgb(hue,sat,val))
nur mit der Umrechnung in die andere Richtung tue ich mich schwer. Hat jemand da einen anderen guten Ansatz?
Colorsys gibt eine Tuple zurück.
Code: Alles auswählen
def rgb_to_hsv(r,g,b):
r = r / 255
g = g / 255
b = b / 255
hsv_value = list(round(i * 100) for i in colorsys.rgb_to_hsv(value_r, value_g, value_b))
hsv_value[0] = round(hsv_value[0] * 3.6) # Hue muss mit 360 multipliziert werden, der Rest mit 100
return tuple(hsv_value)