抖动

抖动(Dither)效果

用 Floyd–Steinberg 误差扩散把照片压成纯黑白 —— 早期屏幕和激光打印的那种 1 位质感。

抖动

☞ 全程在你的浏览器中运行 —— 不会上传任何图片

将图片拖放到此处

或点击浏览 —— JPG、PNG、WebP

只有两种颜色,舍入误差往下传

把照片转成抖动的 1 位图像

把每个像素各自就近舍入成黑或白,得到的是一团斑驳:整片整片地倒向同一边,中间调整个消失。Floyd–Steinberg 的解法是**不把舍入误差丢掉**。每个像素舍入之后,它原本的值与舍入结果之差,会被交给还没定下来的邻居 —— 右边拿十六分之七,其余的分给下面一行。误差在一小片区域里互相抵消,于是虽然每一个像素都只有两种取值,平均亮度却保住了。

这个图案得看得见才有意义。一张 4000 像素宽的照片逐像素抖出来,一旦按屏幕宽度显示,就被重新平均回一片平坦的灰 —— 看上去和原图几乎一样。所以误差扩散跑在一张格子上,格子大小随图的尺寸走,每个定下来的格子按块涂出去。文件仍是原尺寸,而质感留住了。

三步

怎么给图片做抖动

01

上传

JPG、PNG 或 WebP 都行。明暗层次丰富的照片最能看出误差扩散的图案。

02

看预览

格子大小是按图算的,没有可设的参数 —— 预览就是最终结果。

03

下载

存成 PNG。两色图正是 PNG 压得最好的那一类,而 JPG 会把它糊成一片灰。

快速解答

抖动效果常见问题

Floyd–Steinberg 抖动是什么?

1976 年提出的误差扩散算法。每个像素被舍入到最接近的可用颜色,剩下的那点差值被推给还没定下来的邻居像素,于是误差被平均掉,而不是越攒越多。

抖动和半调网点有什么区别?

半调用固定的格子,改变每个点的**大小**;抖动保持点的大小不变,改变**一片区域里落下多少个点**。半调看起来像报纸,抖动看起来像早期的单色屏幕。

为什么看着是块状而不是像素级的细?

这是刻意的。大图上像素级的抖动,一旦缩到屏幕宽度就看不见了 —— 显示器会把它重新平均回灰色。格子随图的尺寸走,质感才经得起被看。

能保留多于两种颜色吗?

这里不行,这个滤镜刻意就是 1 位的。想要一份精简但仍有颜色的调色板,可以用 GIF 那几个工具,它们会量化到你指定的颜色数。

文件会变小吗?

存成 PNG 通常会,而且往往小很多,因为只有两种取值要存。存成 JPG 反而可能变大 —— JPG 是为平滑渐变设计的,而抖动图案恰恰相反。

颜色保得住吗?

保不住。图先降成灰度,再压到黑白两色 —— 这正是「1 位图像」的含义。

图片会被上传吗?

不会。解码和转换都在你的浏览器里完成,下载的文件也是在这台机器上生成的。这个工具根本没有一台服务器可以接收图片。

免费吗?

免费,没有水印,也不用注册。