我正在使用 ImageMagick 的 convert
命令将 3 个不同大小的图标(分别为 16、32、48 像素正方形)组合成一个 favicon.ico
.
$ convert --version
Version: ImageMagick 6.8.9-7 Q16 x86_64 2015-07-06 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC OpenMP
Delegates: bzlib freetype jng jpeg png tiff xml zlib
$ convert 16.png 32.png 48.png favicon.ico
这三个文件很小,因为我已经通过 ImageAlpha 和 ImageOptim 运行了它们:
$ ls -alh *.png
-rw-r--r-- 1 user staff 219B Mar 20 11:46 16.png
-rw-r--r-- 1 user staff 344B Mar 20 11:46 32.png
-rw-r--r-- 1 user staff 469B Mar 20 11:44 48.png
然而,ImageMagick 创建的输出文件为 15K
$ ls -alh favicon.ico
-rw-r--r-- 1 user staff 15K Mar 20 12:01 favicon.ico
同样,当我向 icoconvert.com 的免费在线服务提供我的 3 张 png 图像时,output.ico
生成的文件也是15K。
为什么生成的文件如此之大,是否有其他方法来获得更小的结果 ico 文件?
最佳答案
ImageMagick 将 ICO 文件的子图像写入未压缩的 BMP 图像, 因此 15kbytes 大约是三幅图像的预期大小,每幅图像都包含 32 位 RGBA 像素。您可以通过删除透明度来获得更小的 ICO 文件。
关于imagemagick - 如何让imagemagick创建小于15k的favicon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36116787/