PNG压缩后体积没变小,多数不是工具没生效,而是无损格式的下限已经到底。PNG保存的是逐像素的精确数据,压缩只重排数据、不丢弃内容,遇到照片这类细节密集的图,可压缩的空间本来就很小。

像素总量排第一位。宽高相乘得到的总点数决定需要保存多少份数据,一张4000像素宽的图,无论怎么压,都不可能和800像素宽的图站在同一个体积上。
颜色数量排第二位。纯色块、图标、线稿用到的颜色少,数据重复度高,压缩能啃下很大一块;照片有成千上万种过渡色,几乎没有重复可利用。
内容重复度排第三位。大片留白、同色背景、规则图形的压缩收益明显,而噪点多、纹理密的画面几乎压不动。这也解释了两张像素相同的图,体积为什么会差出几倍。
截图、图标、纯色海报这类图,PNG压缩通常有效,压完体积能有明显下降,可以继续用这个格式。
照片、插画、渐变背景这类图,PNG压缩收益有限。不需要透明背景时,转成JPG图片压缩再压,体积下降会明显得多。
必须保留透明背景时,留在PNG里,但要接受体积下限。这时能动的只有像素尺寸,而不是压缩等级。
第一步,打开PNG图片压缩页,上传原图。页面默认保持原始尺寸,宽高显示为原比例。

第二步,压缩等级从70起压一张,先看结果体积和画面。等级继续往下调,收益会比预期小,因为无损格式能省的空间有限。
第三步,体积仍不合要求时,回到宽高一栏填目标像素,先缩尺寸再压。像素少了,数据量跟着少,这一步的收益通常大于调等级。
第四步,确认不需要透明背景后,再考虑转格式。转完对比一次边缘和文字,避免为了体积丢掉关键细节。
需要透明背景又要求极小体积时,先缩尺寸或减颜色数量,不要指望把等级拉到最低就能达标。
用于印刷、存档的素材,体积本来不是约束条件,压到刚好能存就行,没必要追一个更小的数字。
还有一种情况容易被忽略:文件原本是JPG,只把后缀改成了PNG。这种图内部仍是有损数据,PNG压缩自然没有多少空间可压,先确认真实格式再处理。
压缩等级调到最低为什么没变化
PNG是无损格式,等级只影响数据排列的紧凑程度,不改变像素内容。当数据本身已经很难再紧凑时,继续调等级几乎没有效果。
PNG能压到10k吗
取决于画面。纯色图标有可能,照片类基本做不到。硬要压到极小体积,只能靠缩小像素或减少颜色,而不是靠压缩等级。
压缩后会丢掉透明背景吗
在PNG内部压缩不会丢,透明通道会被保留。只有在转成JPG这类不支持透明的格式时,透明区域才会被填充成底色。
PNG压不动的根子在于格式本身,不在参数。先看颜色数量和内容重复度,再决定是缩尺寸、转格式,还是接受这个体积。