ZH

Floyd–Steinberg 抖动讲解

转换器里的抖动开关跑的是 1976 年的特定算法。花十秒理解它,每次转换都会更好。

一句话讲清误差扩散

把像素量化到小调色板会产生舍入误差——真实颜色与选中颜色的差。Floyd–Steinberg 不丢掉误差:把它按比例推给还没处理的邻居(主要是右侧和下方)。邻居为了补偿会稍微量化得更深或更浅,补偿一路荡开。结果:平滑区域变成细密点阵,在正常尺寸下读成中间调。这是确定性数学,不是随机。

平滑渐变、平级量化条纹和 Floyd–Steinberg 抖动结果三者并列
图:原图、普通量化、误差扩散——全程只用四种颜色。
Floyd–Steinberg 扩散点在色调间散开的微观
图:误差被推向右下方——散布有方向。

为什么 PixiMelon 只用这一种

PixiMelon 转换器先用中位切分量化出调色板,再可选 Floyd–Steinberg 扩散——低颜色下保留渐变最好的组合。工具里只有这一种扩散,这是优点:只需学透一种行为,不用记五个预设。天空、皮肤、金属开,平涂卡通和超小精灵关,那时点子读成脏而不是调子。通用抖动教程有并排判断规则。

为什么它和锐利像素打架

锐利像素要硬边平涂,和故意跨边扩散误差的抖动在理念上相反。转换器强制二选一(开锐利就关抖动),因为混用是两头糟:边缘被柔化带点噪。每张图都对比三种渲染——抖动、普通、锐利——按图选,别按习惯。

值得知道的局限

常见问题

Floyd–Steinberg 抖动是干什么的?

把每个像素的量化误差扩散给邻居,用细密点阵代替条纹,读成更多中间调。

何时应该关掉?

平涂卡通、超小精灵,以及打算逐像素清理的任何图。

为什么不能和锐利像素同开?

两者相反——扩散质感对硬平涂。转换器每轮只保留一种风格。

Floyd–Steinberg 会带来随机吗?

不会,它是确定性数学。每个像素的舍入误差推给邻居,同一张图同一设置点阵永远相同。

心里有图片了吗? 把它转成像素画

继续探索