Color Picker 🪽
Pick a color, get a hex string, move on
- image
- color
Color Picker 🪽 is a widget pretending to be a node: it's a little visual color-picking dialog that outputs a normalized hex string like #FF5500. You'd think "I can just type a hex code" - and you can - but the whole point is the visual part. Instead of guessing #7A3FB2 and squinting, you open the picker, see the color, grab it, and wire the string wherever ComfyAngel needs a color.
The inputs and output
color_hex- a hex string, default#FFFFFF. This is the "current value" the picker starts from and edits.image- optional, and it's the interesting one. Connect an image and the picker gains an eyedropper: click anywhere on the image to lift the exact color from the pixels. That's the feature that makes this node worth installing - stealing a color straight off a reference image instead of matching it by eye.color(output) - the normalized hex string, which is what you wire into anything that takes a hex color: Custom Text Overlay'stext_color/bg_color, Parameter Overlay, Solid Color, Smart Composite's background, anywhere.
The dialog supports HEX, RGB, and HSL input plus a row of presets, so you can type, slide, or sample. The output is always a clean, normalized #RRGGBB - whitespace and lowercase get tidied, which is more than most string inputs do for you.
Why it earns its place
The workflow it's actually for: you load a reference image, want a watermark or caption bar that doesn't clash, connect the image, and eyedropper a color out of it. One click, exact match, no guesswork. It's also the node that makes the rest of the pack's stringly-typed colors tolerable - hand-editing hex codes in Custom Text Overlay is fine until you need a specific tone that you can see, at which point the picker stops being a convenience and starts being the correct tool.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/ThepExcel/ComfyAngel.git
Restart ComfyUI, or search "ComfyAngel" in ComfyUI Manager. The pack's only dependency is Pillow; no models to download.
The one thing to remember is that the output is a string - #RRGGBB - not a number. Feed it to nodes expecting hex text and you're set; try to use it as an RGB value and you'll be converting. And note the default when no image is connected: you get the picker but no eyedropper, which is exactly the behavior you want. Small node, does one job well, zero surprises.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| color_hex | STRING | #FFFFFF | — |
| imageopt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| color | STRING | — |