为什么同一张图png反而比jpg小?

png格式相关介绍:

1、png格式的体积小,在网络通讯里受到了带宽制约,保证了图片清晰。

2、PNG文件采用了LZ77算法压缩,可以获得很高的压缩比,也不会损失数据。

3、它利用了特殊的编码,标记了出现的数据,而且对图像的颜色没有影响也不会有损失。

4、还优化了网络传输显示,PNG图在浏览器里都是用采流式,因此可以连续的输出。

根本原因在于压缩算法和打包方式不同。

即便PNG是无损格式,JPEG质量100%也可以看作无损格式;即便PNG在Photoshop中导出时不支持内嵌ICC颜色配置文件而JEPG支持;即便PNG支持透明度JPEG不支持透明度——这些都不是决定性的。

我们假定A存储前,A.jpg文件和A.png文件要放入的信息量是一样的,那么在用不同算法打包为jpg和png后,大小也会不同。因为它们都会压缩,压缩和无损是不冲突的,压缩只意味着读取时需要解压,但压缩算法不同。

举个简单的其他例子。如果你有一个文本文件B,将它压缩成B.rar和B.zip和B.7z后,三者大小几乎必然是不同的。而三个压缩文件都完整地保留了文本文件B的一切信息,区别就在于压缩算法。对压缩软件来说,压缩算法和打包方式里可能产生区别的点可能在于:

  • 文件头不同(打包方式问题)
  • 额外配置文件(打包方式问题,如文本编码支持等)
  • 提取字典的逻辑不通(压缩算法问题,比如abcdabcd这样的文本,算法1可能将abcd提取刀字典,而算法2可能将ab、cd分别提取到字典)
  • 字典层数区别(压缩算法问题,如算法1可能提取1次字典即结束,而算法2可能将第一次提取出的字典作为正文再压缩一次,产生2级字典并额外附加一段文件头说明有2层字典)

对于图片格式的压缩和打包适用于和上面所说的压缩文件相同的道理。总的来说PNG存储颜色量少的图片更有优势。

猜你喜欢

转载自blog.csdn.net/m0_67948827/article/details/128466278