png无损格式如何具有不同的质量?

Posted

技术标签:

【中文标题】png无损格式如何具有不同的质量?【英文标题】:How can the png lossless format have different quality? 【发布时间】:2020-11-10 10:03:47 【问题描述】:

所以我只想问这个问题,因为 Adob​​e Photoshop 中有一个用于 png 的质量滑块。

现在我觉得这很令人困惑的原因是我知道 PNG 是一种无损格式。

我不确定用什么来衡量客观质量,我的意思是图像中包含多少信息。我假设它是相同格式的 dpi 或位深度或文件大小?

现在,我知道同一张图像的相同无损压缩可能具有不同的质量(位深度和 dpi)。

这是因为您可以执行中间步骤并将其编码为 jpg 等有损格式,然后再转换回 png 等无损格式。

例如,我们有一张由相机拍摄的无损 png 格式的骰子照片,它是原始质量,比如 360dpi 水平和垂直分辨率以及 24 位深度。

然后我们可以将其编码为 jpg(使用有损压缩),并且可能质量会从平均像素略有下降,因为它是有损压缩,它会将质量降低到 200dpi 水平和垂直分辨率和 12位深。

然后我们再次将其编码回 png(无损压缩),最终质量将为 200dpi 水平和垂直分辨率以及 12 位深度。

所以现在我们为同一张图片有两个无损格式的 png,一个是原始的,另一个是从 jpg 编码的,质量不同。

我想说的是,我认为这就是为什么使用无损压缩的两个图像可能具有不同的质量,即使无损压缩不会删除任何信息,因为其中一个无损压缩图像可能刚刚被编码从有损格式。通过对有损格式进行编码,可以从无损格式中删除信息。

那么现在回到问题上来,这就是 Photoshop 为 PNG 图像提供质量滑块的原因吗?

对于低于 100% 的质量(例如 80%),Photoshop 是否将其编码为像 jpg 这样的有损格式,然后再转回无损 png,以便文件可以具有不同的质量,从而使同一图像具有不同的文件大小?

我还在 wikipedia 上读到了一些关于 PNG 也能够执行有损压缩的内容,那么这是发生了什么吗? https://en.wikipedia.org/wiki/Portable_Network_Graphics#Lossy_PNG_compression

我只是对此感到困惑。

【问题讨论】:

【参考方案1】:

Photoshop 可能会降低颜色深度,如您在问题中包含的 wiki 中所述:

降低颜色深度: 如果图像的颜色为 256 或更少,请使用调色板(而不是 RGB), 如果图像有 2、4 或 16 种颜色,请使用较小的调色板,或者 (可选)有损丢弃原始图像中的一些数据

【讨论】:

最后一个选项包括Lossy PNG compression。

以上是关于png无损格式如何具有不同的质量?的主要内容,如果未能解决你的问题,请参考以下文章

JPEG、GIF、PNG、BMP哪种图片格式的图片清晰一点?

图片格式无损转换的方法

图片优化

图像格式

android 网络下载图片透明处变黑

图片相关优化