跳到主要内容
Tooletto

PNG 最大压缩

压缩 PNG 的预设方案

最激进的设置:64 色加抖动。最适合平面图形、图标和简单插画,在这类内容上有限的调色板几乎不可察觉。照片在这个级别会出现明显色带——这类内容请改用 256 色,或直接换成 JPG。

  • 文件永不离开你的设备
  • 免费,无需注册
  • 无水印
  • 加载后可离线使用
Loading tool…

如何压缩 PNG

  1. 1

    添加 PNG 图片

    将 PNG 文件拖到页面上、点击浏览选择,或直接从剪贴板粘贴。

  2. 2

    选择颜色数量

    256 色对大多数图形来说在视觉上是无损的。数值调低可以获得更小的文件。

  3. 3

    下载

    单独保存每张优化后的 PNG,或将整批打包为 ZIP 下载。

64 色能承受什么、不能承受什么

64 色听起来很极端,但对一大类图像来说完全没问题。图标、平面插画、象形图、简单图表以及大多数品牌标识,本来就是用一套刻意精简的调色板构建的——通常只有不到十几种不同的颜色,加上边缘的抗锯齿处理。缩减到 64 色不会影响这些平面区域,只会让边缘的混合效果略微变粗,而这在这类素材实际渲染的尺寸下是不可察觉的。

无法承受的是连续色调。任何平滑的渐变——阴影、模糊背景、天空、皮肤——都需要远超 64 级的层次才能显得连续,在这个级别下,即使开启抖动也会断裂成明显的色带。抖动能把这些生硬的色带换成细腻的噪点,观感更好,但这仍然是一种妥协,而不是真正的解决办法。

适合的场景
图标、象形图、平面插画、简单图表、单色图示、单色 Logo。
不适合的场景
照片、渐变背景、投影,以及任何带有柔和模糊或写实光照的内容。

如何判断是否压缩过度

色带在大面积、颜色接近均匀的区域最容易被发现,所以应该检查图像中最平滑的区域,而不是内容最繁杂的地方。把图像放大到 100% 查看,而不要依赖缩放适配窗口的显示——浏览器的缩小显示会很有效地掩盖色带,一张在缩略图里看起来干净的图片,放到实际尺寸下可能呈现出明显的阶梯状。尤其要留意抗锯齿把形状与背景混合在一起的边缘区域,因为那里正是缩小后的调色板最先耗尽中间色阶的地方。

如果结果出现色带,答案是增加颜色数量,而不是增加抖动强度。退回到 128 色再做比较:文件会更大一些,但通常仍远小于原图的一半,对于确实需要这些余量的作品来说,这比留下噪点是更好的取舍。如果连 256 色都出现色带,说明这张图像本质上是照片内容,应该完全换用另一种格式。

常见问题

PNG 明明是无损格式,压缩是怎么起作用的?

PNG 容器本身依然保持无损——发生变化的是容器内部的图像。减少不同颜色的数量会让数据变得更有规律性,PNG 内置的 deflate 压缩算法随后就能把它压得更紧。这与 pngquant 和 TinyPNG 采用的方法是一致的。

透明度会被保留吗?

会的。Alpha 通道完全不受影响,完全透明的像素会被排除在调色板计算之外,不会拉偏调色板。Logo 和抠图图形都能保持边缘干净。

为什么节省的体积比 TinyPNG 给出的要小?

浏览器只能写出 32 位 PNG,而不是真正的 8 位调色板 PNG,所以我们能达到的效果大约是原生优化工具的一半。作为交换,你的文件永远不会离开你的设备,也没有每月使用限制。对 Logo 和平面图形来说差距很小;对照片来说差距会更大。

抖动(dithering)起什么作用?

它把舍入误差分散到相邻像素之间,让渐变保持平滑,而不是形成明显的色带。这会让文件体积增加几个百分点,但对照片和渐变内容来说是值得开启的——对于平面图形和截图,建议关闭它。

我应该用 PNG 吗?

对照片来说不应该——同等质量下 JPG 或 WebP 能小上好几倍。PNG 适合 Logo、图标、文字截图,以及任何需要透明度的场合。