import colorsys def hex_to_hsv(hex_color): hex_color = hex_color.lstrip('#') r, g, b = tuple(int(hex_color[i:i+2], 16) / 255.0 for i in (0, 2, 4)) h, s, v = colorsys.rgb_to_hsv(r, g, b) hue = h * 360 saturation = s value = v return hue, saturation, value class RGB_HexToHSV: @classmethod def INPUT_TYPES(s): return {"required": { "rgb_hex": ("STRING", {"defaultInput": True}), }, } RETURN_TYPES = ("FLOAT", "FLOAT", "FLOAT") RETURN_NAMES = ("hue", "saturation", "value") FUNCTION = "doit" CATEGORY = "InspirePack/Util" def doit(self, rgb_hex): return hex_to_hsv(rgb_hex) NODE_CLASS_MAPPINGS = { "RGB_HexToHSV //Inspire": RGB_HexToHSV, } NODE_DISPLAY_NAME_MAPPINGS = { "RGB_HexToHSV //Inspire": "RGB Hex To HSV (Inspire)", }