图片抖动处理工具
用 Floyd–Steinberg、Atkinson、Stucki、Sierra、Bayer 或随机噪点对图片做抖动处理,转成 1 位黑白、灰阶、Game Boy、CGA、EGA、网页安全色或自定义调色板。
抖动(Dithering)是用调色板里已有的颜色相互混合,来模拟调色板里没有的颜色,报纸、早期计算机和掌上游戏机就是这样绘制照片的。本工具把图片缩减到一个小调色板——1 位黑白、灰阶、Game Boy 绿色、CGA、EGA、网页安全色或你自己的颜色——并用十二种经典方法之一把差异扩散出去。适用于复古艺术、电子墨水屏和热敏打印机、激光雕刻,或需要极小的文件体积的场合。它在浏览器中运行。
使用方法
- 选择一张或多张图片。
- 选择算法:想要平滑效果用 Floyd–Steinberg,想要清晰对比用 Atkinson,想要规则的网纹用 Bayer。
- 选择调色板;如果结果太暗或太亮,调整亮度偏移。
- 想要粗颗粒效果就把像素大小设为大于 1,然后下载 PNG。
计算公式
误差扩散:e = 数值 − 所选调色板颜色;之后每个相邻像素 += e × 权重 ÷ 除数(Floyd–Steinberg:7、3、5、1 ÷ 16)
Atkinson 只扩散误差的 6/8(向六个邻居各扩散 1/8),Jarvis–Judice–Ninke 把误差分成 48 份扩散给 12 个邻居,Stucki 为 42,Burkes 和 Sierra 为 32,双行 Sierra 为 16,Sierra Lite 为 4。有序抖动在选取最接近的颜色前,先加上固定的 Bayer 阈值((矩阵值 + ½) ÷ n² − ½,再乘以调色板间隔);随机抖动则改为加入噪点。灰阶和 Game Boy 调色板按亮度(Rec. 709 亮度)匹配,其余按 RGB 距离匹配。
示例
一张蓝色照片左上角像素 RGB (38, 99, 234) 的亮度为 0.2126 × 38 + 0.7152 × 99 + 0.0722 × 234 = 95.8。在 1 位模式下它变成黑色(95.8 < 127.5),留下 +95.8 的误差。Floyd–Steinberg 把 95.8 × 7/16 = 41.9 加到下一个像素,把 95.8 × 5/16 = 29.9 加到下方的像素,依此类推,因此这块蓝色区域最终大约有 38% 的白点,也就是它的亮度 95.8 ÷ 255。
常见问题
哪种算法看起来最好?
Floyd–Steinberg 是全能型。Atkinson 的图像更亮、更有冲击力,白色干净(最早的 Macintosh 用的就是它)。Jarvis 和 Stucki 把误差扩散得更远,渐变更平滑。Bayer 是老游戏那种有规律的纹理,适合动画,因为帧与帧之间不会闪烁。
什么是蛇形扫描?
隔行从右向左处理。这样误差不会总是朝同一个方向流动,从而消除误差扩散可能留下的斜向“蠕虫”条纹。
为什么文件这么小?
结果以调色板 PNG 保存:只有 2 种颜色时,每个像素只需要 1 位,而不是 32 位。
我的图片会被上传吗?
不会。所有抖动处理都在你的设备上运行。
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/apply-dithering-to-image-tool/
引用此工具
kakaoCalc. (2026, November 8). 图片抖动处理工具. https://kakao.mobile/zh/tools/apply-dithering-to-image-tool/
“图片抖动处理工具.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/apply-dithering-to-image-tool/.