我使用以下 ImageMagick 脚本生成网站图标图像:
convert src/favicon.svg \
\( -clone 0 -resize 16x16 \) \
\( -clone 0 -resize 32x32 \) \
\( -clone 0 -resize 48x48 \) \
-delete 0 -colors 256 -bordercolor transparent -border 10% -background transparent \
site/public/favicon.ico
这会生成 22KiB 的 ISO,这看起来有点大,因为以下生成的 PNG 为 3.4K:
convert src/favicon.svg -resize 48x48 -colors 256 -bordercolor transparent -border 10% -background transparent 48.png
我做错了什么会增加文件大小吗?图像中只有一种颜色,背景是透明的:
从各方面来看,我想它应该是一个非常小的文件大小。
答案1
我不是 ImageMagick 专家,但在我使用示例 svg 文件进行的一些实验中,我注意到identify favicon.ico
结果文件显示使用 32 位像素,而48.png
深度不同,在我的例子中为 16。通过将-colors 256
选项移动到参数列表的最后,我最终得到了更合适的 8 位深度和大约原始大小一半的图标文件。