使用 NXPowerLite Desktop 压缩 PNG 图片

为了减小 PNG 文件的大小,软件减少了 PNG 图像中的颜色数,从而可以将 24 位 PNG 转换为更小、更高效的 8 位索引彩色图像。文件大小减小通常比等效的 24/32 位 PNG 文件小 60-80%。

什么是 8 位 PNG 和 24 位 PNG?

8 位 PNG (PNG-8) 限制为 256 种颜色或调色板条目,而 24 位 PNG (PNG-24) 可以包含超过 1600 万种不同的颜色。

24 位 PNG 更适合更复杂的图像,具有更高的细节和颜色级别。而8位PNG,因为它们支持较少的颜色,更好地用于简单颜色的东西,如徽标和用户界面元素,如图标和按钮。

随着图像向照片色和细节水平移动,24 位 PNG 将继续忠实地再现图像,而不会丢失任何图像,但与等效的 JPEG 相比,文件大小可能会变得非常大。

压缩工作如何?

它使用一种叫做"颜色量化"的技术(这里将在此中更多),它基本上意味着减少图像中使用的颜色数量。具体来说,我们使用 pngquant 量化库,它使用 Alpha 通道创建高效的 8 位 PNG 文件。

PNGQuant 算法

为了方便起见,在下面复制了此算法的工作原理的详细信息,但可以在位于该数据库的网页底部找到https://pngquant.org

  • pngquant 使用修改版本的中位数切割量化算法和其他技术来缓解中位数切割的缺陷。
  • 选择具有最大体积或颜色数的框,而不是拆分框,以最大程度减小与其中值的方差。
  • 直方图是增加一个基本感知模型,该模型对图像的嘈杂区域的权重较低。
  • 为了进一步改善颜色,直方图在类似于渐变下降的进程中进行调整(中切重复多次,在代表较差的颜色上权重更多)。
  • 最后,使用 Voronoi 迭代 (K-means) 更正颜色,从而保证局部最佳调色板。
  • pngquant 在预乘阿尔法颜色空间中工作,以减轻透明颜色的重量。
  • 重新映射时,误差扩散仅应用于多个相邻像素量化为同一值且不是边的区域。这样可以避免在不抖动的情况下向具有高视觉质量的区域添加噪音。
8 位 PNG 还能在任何地方工作吗?

压缩映像完全符合标准,并且受所有当前 Web 浏览器和操作系统的支持。

屏幕截图示例

PNG 是屏幕截图和其他平面彩色图像的一种特别好的格式。这个简单的屏幕截图图像说明了压缩到 8 位 PNG 可以实现的大小差异,而不会明显降低图像。

24-bit PNG (66.2 KB)
24 位 PNG (66.2 KB)
下载(右键单击并选择"将链接另存为...")
8 位 PNG (19.4 KB)
下载(右键单击并选择"将链接另存为...")