π« CR Halftone Grid
Generate a dot-gradient pattern in ComfyUI
- IMAGE
- show_help
This one builds a halftone dot pattern from scratch - a grid of dots whose size ramps across the canvas following a color gradient. Think pop-art backgrounds, comic-book textures, retro-print overlays, that Roy-Lichtenstein dotted look you can drop behind a subject or multiply over a render. It's a pattern generator, not a filter, so it doesn't take an input image; it makes one.
It lives in Comfyroll Studio, the sprawling utility pack from Suzie1 and RockOfFire. Purely graphical, no GPU, no model.
How it works
You give it a canvas size and a dot_style, and it draws dots that grow and shrink according to that style's gradient, radiating from a center point you set with x_pos / y_pos. The dot styles aren't Comfyroll inventions - they're matplotlib colormaps (82 of them: viridis, Blues, bone, Accent, bwr, and so on). That detail matters for install, more below.
The inputs that matter
width/height- output canvas.dot_style- the colormap that drives the dot gradient.reverse_dot_styleflips it.dot_frequency- how many dots across (1β200). Low = big chunky dots, high = fine grain.x_pos/y_pos- the 0β1 center of the gradient. Move it to shift where the dots are biggest.background_color- named-color dropdown; set it tocustomto unlock the optionalbg_color_hexinput (a named color ignores hex - the standard Comfyroll gotcha).
Output is a single IMAGE plus the usual show_help string (a wiki link, leave it dangling). Feed the image into a blend/composite node, or straight to a preview to dial it in.
Installing it
Via ComfyUI Manager: search Comfyroll Studio, install, restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes
then restart. No models to download.
Common issues
The whole Comfyroll pack won't load - and this node is the reason it shows up in the error. The classic failure looks like this in the console:
Comfyroll Studio: Failed to load Graphics nodes
NameError: name 'CR_HalftoneGrid' is not defined
That CR_HalftoneGrid is this node. What actually happened is a graphics dependency didn't import - most often matplotlib (remember, the dot styles are matplotlib colormaps), sometimes the wider scientific stack. When that import dies, the class never gets defined, and the pack's node-mapping file blows up on the first line that references it, taking the entire pack down with it. So a missing matplotlib doesn't just break Halftone Grid - it hides every Comfyroll node.
The fix: scroll up to the first traceback (the real ImportError), then install the missing library into the same Python ComfyUI runs. On Windows portable that's the embedded interpreter:
python_embeded\python.exe -m pip install matplotlib
then restart. People hit this on clean installs in early 2025, so it's not exotic - it's the pack's most reported install snag.
Dots too coarse or too fine. That's dot_frequency - nudge it rather than changing size elsewhere.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| width | INT | 51264β4096 | β |
| height | INT | 51264β4096 | β |
| dot_style | COMBO | 82 options: Accent, afmhot, autumn, binary, Blues, bone, +76 | |
| reverse_dot_style | COMBO | 2 options: No, Yes | |
| dot_frequency | INT | 501β200 | β |
| background_color | COMBO | 30 options: custom, white, black, red, green, blue, +24 | |
| x_pos | FLOAT | 0.500β1 | β |
| y_pos | FLOAT | 0.500β1 | β |
| bg_color_hexopt | STRING | #000000 | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | β |
| show_help | STRING | β |