为什么 PNG 文件在没有透明度的情况下通常更大?

Why is a PNG file often larger without transparency?

当我在 Photoshop 中保存带有透明区域的 PNG-24 文件用于 Web 时,当我取消选择透明度选项时文件大小会变大。

在我刚刚处理的文件中,带透明度的文件大小为 45.28k,但不带透明度的文件大小为 53.71k,这不是一个微不足道的差异。

谁能解释一下这种行为?

简化答案:PNG 将纯透明像素保存为二进制值,而它们使用等效于 RGB 或 RGBA 值的颜色保存值(这需要 space 比一位多得多)。

实际上,不完全透明的像素被分组,分析它们的颜色要求,并使用最小适用的颜色深度选项,以节省 space 预压缩。不过,在此之前,首先检查像素以查看它们是否完全透明,以确保它们得到相应的表示,并且其他像素不会错误地变得透明。您可以阅读更多 here.