【问题标题】:why png size doesn't change after using http gzip compression为什么使用 http gzip 压缩后 png 大小不会改变
【发布时间】:2012-07-02 14:43:10
【问题描述】:

我使用以下 .htaccess 来设置 gzip 压缩:

AddOutputFilterByType DEFLATE text/html image/png image/jpeg text/css text/javascript

请查看此网址:http://www.coinex.com/cn/silver_panda/proof/china_1984_27_gram_silver_panda_coin/

gzip 压缩适用于 html、css、js 和 jpg,但不适用于 png(真的很棒..)

【问题讨论】:

    标签: apache .htaccess gzip deflate http-compression


    【解决方案1】:

    PNG 已经是一种压缩数据格式。使用 GZIP 压缩它不太可能减小大小,实际上可以使其更大。

    我很惊讶您看到对 JPG 进行 GZIP 压缩的好处,因为它们也是经过压缩的。

    请参阅here,了解 Google 关于使用 GZIP 的提示。他们建议不要将其应用于图像。

    【讨论】:

      【解决方案2】:

      PNG 图像格式已在内部使用 deflate 压缩。因此,在此基础上使用 HTTP 压缩通常不会看到传输大小有任何明显减少。因此,您应该从您提到的列表中删除 image/png 以避免在冗余压缩步骤上浪费服务器和客户端的 CPU 周期。

      【讨论】:

        【解决方案3】:

        如果你想让你的 PNG 更小,请使用 https://tinypng.com/ 或其他 png 优化器。是的,它也完全支持 Alpha 通道。

        【讨论】:

        • 只是使用 tinypng.com 将 14k 字节的 png 减少到 540 字节!!
        • 它支持有效的 1 位 Alpha 通道 - 因此 100% 透明或 100% 不透明。这可能会在某些背景上产生可怕的抗锯齿效果,但如果您知道它将位于的背景颜色,您可以调整图像的边缘以很好地融合。
        • @Simon_Weaver 对不起,你错了。该网站的优化图像上有渐变的 alpha 通道。我不知道你从哪里得到这些信息,但你可以通过优化这张图片找到自己commons.wikimedia.org/wiki/File:Wilber-huge-alpha.png
        • @Pawel 我希望我错了 :) 但任何时候我用过 tinypng,它的边缘都很锋利。我醒来时会试试这个。
        • @rraallvv 有 CLI,但它使用的是付费的远程服务。有免费的本地替代方案stackoverflow.com/questions/28583799/…
        【解决方案4】:

        PNG 是一种无损图像压缩格式。基本上它使用空间压缩来完全保留原始图像质量。它不能在不损失质量的情况下进一步压缩(您需要使用另一种无损格式来查看它是否效果更好)。

        没有必要使用 GZIP(或等效的),因为它只会为图像客户端的解压缩添加处理。

        对于 JPEG,您能做的最好的事情就是确保使用正确的分辨率和质量设置来满足您的目的。 GZIP 最多只能产生混合结果。确保从中删除所有元数据(除非您需要这些信息客户端,但最好将这些数据保存在数据库中)。

        【讨论】:

          猜你喜欢
          • 2016-10-28
          • 2021-08-13
          • 1970-01-01
          • 1970-01-01
          • 2014-06-11
          • 2016-11-05
          • 2018-10-14
          • 1970-01-01
          • 2010-09-06
          相关资源
          最近更新 更多