Risograph

A two-ink risograph print with halftone screens and misregistration.

Still frame of Risograph: a two-ink risograph print with halftone screens and misregistration
Still frame

Installation

pnpm dlx shadcn@latest add @gradients-pro/risograph

Needs a Pro account and the Pro registry setup.

Usage

import { Risograph } from "@/components/risograph";

<Risograph className="h-[560px]">{children}</Risograph>;

It fills its box, so give it a height. Children render on top.

Props

PropTypeDefaultDescription
palette"pink-blue", "orange-teal", "yellow-violet""pink-blue"One of the curated palettes.
appearance"auto", "dark", "light""auto"Which version of the palette to use. auto follows a dark or light class (or data-theme) on <html>, then the OS setting.
colorsstring[]palette2 to 6 CSS colours, var(--x) included. Replaces the palette's colours.
backgroundstringpaletteReplaces the palette's background.
dotSizenumber10.25 to 4. Size of the halftone dots.
misregistrationnumber0.40 to 1. How far the second ink drifts out of register.
softnessnumber0.40 to 1. Softer printed shapes.
grainnumber0.10 to 1. Film grain.
speednumber0.50 to 2. How fast it moves; 0 holds a still frame.
paramsPartial<GradientParams>noneAny other engine param, applied last.
classNamestringnoneClasses for the outer box. Give it a size, for example h-[560px].
styleCSSPropertiesnoneInline styles for the outer box.
childrenReactNodenoneContent drawn above the background.