Merge color primitive into existing color picker node

This commit is contained in:
Alexis Rolland 2026-06-09 00:18:39 +08:00
parent 2d0bf97956
commit 2ff7f60542
2 changed files with 7 additions and 26 deletions

View File

@ -7,29 +7,29 @@ class ColorToRGBInt(io.ComfyNode):
def define_schema(cls) -> io.Schema:
return io.Schema(
node_id="ColorToRGBInt",
display_name="Color to RGB Int",
display_name="Color Picker",
category="utilities",
description="Convert a color to a RGB integer value.",
description="Return a color RGB integer value and hexadecimal representation.",
inputs=[
io.Color.Input("color"),
],
outputs=[
io.Int.Output(display_name="rgb_int"),
io.Color.Output(display_name="hex")
],
)
@classmethod
def execute(
cls,
color: str,
) -> io.NodeOutput:
def execute(cls, color: str) -> io.NodeOutput:
# expect format #RRGGBB
if len(color) != 7 or color[0] != "#":
raise ValueError("Color must be in format #RRGGBB")
r = int(color[1:3], 16)
g = int(color[3:5], 16)
b = int(color[5:7], 16)
return io.NodeOutput(r * 256 * 256 + g * 256 + b)
rgb_int = r * 256 * 256 + g * 256 + b
return io.NodeOutput(rgb_int, color)
class ColorExtension(ComfyExtension):

View File

@ -97,24 +97,6 @@ class Boolean(io.ComfyNode):
return io.NodeOutput(value)
class Color(io.ComfyNode):
@classmethod
def define_schema(cls):
return io.Schema(
node_id="PrimitiveColor",
display_name="Color",
category="utilities/primitive",
inputs=[
io.Color.Input("value", default="#ffffff"),
],
outputs=[io.Color.Output()],
)
@classmethod
def execute(cls, value: str) -> io.NodeOutput:
return io.NodeOutput(value)
class PrimitivesExtension(ComfyExtension):
@override
async def get_node_list(self) -> list[type[io.ComfyNode]]:
@ -124,7 +106,6 @@ class PrimitivesExtension(ComfyExtension):
Int,
Float,
Boolean,
Color,
]
async def comfy_entrypoint() -> PrimitivesExtension: