π¨ Halftone Filter
Comic-print dot effect for ComfyUI images
- image
- IMAGE
- show_help
Take a finished render and give it that newspaper / comic-book / screen-printed look - where continuous tones become a field of dots. That's what CR Halftone Filter does. Unlike CR Halftone Grid (which generates a dot pattern from nothing), this one filters an image you feed it, turning your actual picture into halftone.
It's part of Comfyroll Studio by Suzie1 and RockOfFire - a post-processing effect, so it runs on the CPU after your generation, no model involved.
How it works
Real halftone printing lays down dots on separate color plates (cyan, magenta, yellow, black), each rotated to a different screen angle so the dots interleave instead of stacking. This node reproduces that: it resamples your image into dot cells and can rotate each channel's screen independently. That's why you get four angle controls.
The inputs that matter
image- what you're stylizing.dot_size- the big one (1β30). Small = subtle fine grain, large = chunky comic dots.dot_shape-ellipse(round dots) orrectangle.greyscale- defaults to true, giving you clean black-and-white halftone. Turn it off for a CMYK color-dot look, which is where the angle controls come alive.angle_c/angle_m/angle_y/angle_k- the screen angle per channel. Defaults (75/45/15/0) are the traditional print angles; leave them unless you want visible moirΓ© as an effect.resolution-normalorhi-res (2x output size)for crisper dots at the cost of a bigger image.antialias+antialias_scalesmooth the dot edges;border_blendingsoftens the seams.
Output is a single IMAGE plus show_help (a wiki link - ignore it).
Installing it
ComfyUI Manager β search Comfyroll Studio β install β restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes
then restart. No model files.
Common issues
The whole pack fails to load with a NameError. If the console says Failed to load Graphics nodes and then NameError: name 'CR_HalftoneGrid' is not defined, that's a missing graphics dependency (typically matplotlib or the scientific stack the graphics nodes lean on). The failed import cascades and takes the entire Comfyroll pack down, this filter included. Scroll up to the first real traceback, pip install the missing package into ComfyUI's Python (the python_embeded interpreter on Windows portable), and restart. It's the pack's most common install snag.
Output looks like mush. Push dot_size up - too small a dot at high resolution reads as noise rather than halftone. Bump resolution to hi-res if the dots look ragged.
You wanted color dots, got grey. Flip greyscale off. It's on by default, so first-timers often assume the node only does black-and-white.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | β | |
| dot_size | INT | 51β30 | β |
| dot_shape | COMBO | ellipse | 2 options: ellipse, rectangle |
| resolution | COMBO | normal | 2 options: normal, hi-res (2x output size) |
| angle_c | INT | 750β360 | β |
| angle_m | INT | 450β360 | β |
| angle_y | INT | 150β360 | β |
| angle_k | INT | 00β360 | β |
| greyscale | BOOLEAN | true | β |
| antialias | BOOLEAN | true | β |
| antialias_scale | INT | 21β4 | β |
| border_blending | BOOLEAN | false | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | β |
| show_help | STRING | β |