Halftoning reproduces continuous tone with marks of varying size at a fixed spacing. Printing presses cannot lay down 40% ink; they lay down dots that cover 40% of the area. Your eye does the rest. A halftone generator that just multiplies a dot texture over the photo misses the point — the dots have to grow and shrink with local darkness.
Dotcross is the primary filter here, and it changes mark type as well as size. Below 31% darkness it draws a circle whose radius tracks the tone. Above that it switches to a cross whose arm length and stroke weight keep climbing. A Bayer matrix perturbs the darkness reading slightly so the marks do not lock into a visible moire grid.
Risograph is included because it is the full colour case: the image is separated into CMYK, each plate gets its own halftone screen at its own angle — roughly +15.5 degrees, -15.5 degrees, 0 and 44.7 degrees — and the plates are printed with a deliberate registration offset onto a warm paper tone. Those angle offsets are exactly why real four-colour print does not moire.
| Filter | Mark | Best for |
|---|---|---|
| Dotcross | Circle to cross ramp | Editorial, poster, high contrast |
| Stipple | Variable-radius dots | Soft gradients, portraits |
| Risograph | CMYK screens, 4 angles | Full colour print look |
| Crossmarks | Vector cross field | Technical, diagrammatic |
Lower the detail slider for a coarser screen with bigger, more graphic dots; raise it for a fine screen that stays closer to the photograph. Everything renders locally through Canvas 2D and exports as a full-resolution PNG.