【问题标题】:Multifile favicon.ico much bigger than sum of sizes of component files多文件 favicon.ico 比组件文件大小的总和大得多
【发布时间】:2014-04-28 23:46:53
【问题描述】:

我想根据伟大的favicon cheat sheet 创建多文件 favicon.ico。
我创建了 3 个 .png 文件,使用 OptiPNG 对其进行了优化,并收到了 1、2 和 3kb 大小的文件。
现在我正在尝试使用 Imagemagick 从它们创建 favicon.ico,但最终文件大小约为 15kb(组件文件的总和约为 6kB)。
是什么导致了这种影响,我该如何避免?

【问题讨论】:

  • 我用 ImageMagick 6.8.8-8 和 icotool (icoutils) 0.29.1 观察到同样的事情
  • 我发现另一个程序可以创建“足够好”的结果并发布为答案,但仍然不知道是什么导致了这种效果。
  • 我也有这个问题。三个 0.5k 文件变成 oe 15k 文件。嗯?
  • 我用第三方工具icoFx尝试了同样的过程,得到了同样的提升,所以我想这只是格式压缩与否的问题。
  • 这是一个非常古老的线程,但您可以使用“-colors 256”参数。问候!。

标签: favicon imagemagick-convert


【解决方案1】:

一种解决方法是依靠 HTTP gzip 压缩。

例如,我将 3 张 PNG 图片(共 3580 字节)打包在一个 15086 字节的favicon.ico 文件中。当我在服务器端启用 gzip 压缩下载它时,我得到 2551 字节的数据。这比一张一张下载PNG图片效率更高,因为这种文件通常不启用gzip。

但是,gzip 通常没有为.ico 文件配置(这更适用于文本文件)。在 Apache 上,可以通过添加以下内容来解决此问题:

<IfModule mod_deflate.c>
    (... other rules here...)
    AddOutputFilterByType DEFLATE image/x-icon
</IfModule>

在 Apache 配置文件中,例如 /etc/apache2/mods-available/deflate.conf

这不是你所期望的答案,我希望有人能用神奇的命令行来生成我们应得的轻量级favicon.ico

【讨论】:

    【解决方案2】:

    另一种解决方法是使用其他工具来创建网站图标文件。
    我发现(在堆栈 ofc 上;))png2ico 工具。它给了我 8kb 的文件(组件的总和约为 6),这是我可以忍受的大小。

    请阅读 cmets 到这个答案 - philippe_b 观察到有时 png2ico 给他的结果很差。

    【讨论】:

    • 虽然我观察到大小相同,但 png2ico 并不保守。嵌入的图片与原始图片不同。我没有查看代码以了解它的作用,但我的感觉是它消除了透明度。这通常会产生糟糕的结果。
    • 您能否编辑您的答案以表明 png2ico 有时会产生较差的结果?人们可能会认为它是万无一失的工具,而我显然对此有疑问。
    【解决方案3】:

    只有 256x256 32 位的图标是 PNG 压缩的,其他的都作为经典图标存储在 .ICO 文件中。因此,文件大小在逻辑上会增加,因为它会解压缩其他较小尺寸的图标。

    【讨论】:

      猜你喜欢
      • 2015-10-02
      • 1970-01-01
      • 2020-04-12
      • 1970-01-01
      • 2018-08-30
      • 1970-01-01
      • 1970-01-01
      • 2017-08-18
      • 1970-01-01
      相关资源
      最近更新 更多