Nodes/Comfyroll Studio/🎨 Halftone Filter
ComfyUI Node Runs on cloud

🎨 Halftone Filter

Comic-print dot effect for ComfyUI images

By Suzie1Β·Created 3 years agoΒ·Updated 2 years agoΒ· 1,296
🎨 Halftone Filter
  • image
  • IMAGE
  • show_help
β—„dot_size5β–Ί
β—„dot_shapeellipseβ–Ί
β—„resolutionnormalβ–Ί
β—„angle_c75β–Ί
β—„angle_m45β–Ί
β—„angle_y15β–Ί
β—„angle_k0β–Ί
β—„greyscaletrueβ–Ί
β—„antialiastrueβ–Ί
β—„antialias_scale2β–Ί
β—„border_blendingfalseβ–Ί

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) or rectangle.
  • 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 - normal or hi-res (2x output size) for crisper dots at the cost of a bigger image. antialias + antialias_scale smooth the dot edges; border_blending softens 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.

Category🧩 Comfyroll Studio/πŸ‘Ύ Graphics/🎨 Filter

Inputs (12)

NameTypeDefaultDescription
imageIMAGEβ€”
dot_sizeINT51–30β€”
dot_shapeCOMBOellipse2 options: ellipse, rectangle
resolutionCOMBOnormal2 options: normal, hi-res (2x output size)
angle_cINT750–360β€”
angle_mINT450–360β€”
angle_yINT150–360β€”
angle_kINT00–360β€”
greyscaleBOOLEANtrueβ€”
antialiasBOOLEANtrueβ€”
antialias_scaleINT21–4β€”
border_blendingBOOLEANfalseβ€”

Outputs (2)

NameTypeDescription
IMAGEIMAGEβ€”
show_helpSTRINGβ€”