抖动(Dithering)用空间细节换取色彩深度,伪造出有限调色板本来显示不出的层次。你的眼睛会把散布的黑白点重新平均成灰。本工具同时提供这项技术的两大家族,因为它们的失效方式完全不同。
Bitgrain 是有序抖动。它把每个色块与一张 8×8 Bayer 矩阵(固定的 64 级阈值点阵)比较,并按 detail 设置量化到每通道 3、4 或 5 级。有序抖动是确定性的,且可以无缝平铺,所以会产生那种规则的交叉网纹——早期游戏和报纸印刷里最常见的质感。
四个 Grain 滤镜走的是误差扩散,而且是真正的 1-bit:一种墨色配一种纸色,完全没有中间调。每个单元阈值化之后,剩下的误差被推给尚未访问的邻居,于是图像在扫描推进的过程中自我修正。四种配色各用一套不同的扩散核,且扫描按蛇形(逐行交替方向)进行,避免误差持续朝一侧漂移。
| 滤镜 | 方法 | 扩散核 | 输出 |
|---|---|---|---|
| Bitgrain | 有序抖动 | 8×8 Bayer | 每通道 3–5 级 |
| Cobalt Grain | 误差扩散 | Floyd–Steinberg | 1-bit,蓝墨 |
| Denim Grain | 误差扩散 | Atkinson | 1-bit,靛蓝墨 |
| Harbor Grain | 误差扩散 | 3 抽头 | 1-bit,青墨 |
| Meadow Grain | 误差扩散 | 双行 7 抽头 | 1-bit,绿墨 |
Atkinson 会刻意丢弃一部分误差,因此对比更高、白色更干净——这正是老款 Macintosh 屏幕的观感。Floyd–Steinberg 全量保留误差,中间调过渡更完整。
全部运算通过 Canvas 2D 在你自己的设备上完成。零上传、免注册、导出全分辨率 PNG。