来自:JPG,至:ICO;
/usr/bin/convert -resize x16 -gravity center -crop 16x16+0+0 input.jpg \
-transparent white -colors 256 output/favicon.ico
这是命令行的输出。
来自:GIF、PNG 至:ICO;
/usr/bin/convert -resize x16 -gravity center -crop 16x16+0+0 input.png \
-flatten -colors 256 output/favicon.ico
我遇到了透明度问题。我似乎无法获得正确的代码,我尝试过 -channel alpha -negate 等
这会创建一个图像,当我应用到该站点时,它适用于 Firefox,但不适用于其他浏览器。 IE、Chrome、Opera 和 Safari 都出于某种原因讨厌它,它是一个简单的 favicon.ico 文件。我的结论是,一定是我的命令在某个地方被破坏了。请帮忙?
convert convert: No encode delegate for this image format (favicon.ico) [No such file or directory].
显然 Debian Jessie 在 ImageMagick 中缺少 ICO
支持。这对我有用:icotool -c -o favicon.ico FILENAME
。请参阅randomhacks.co.uk/how-to-convert-a-png-to-ico-file-ubuntu-linux
将此选项添加到 convert
:
-background transparent
但是,请记住,您的原始图像实际上必须具有 Alpha 通道。 PNG 可能有 alpha 通道,而 JPEG 则没有。
要将 PNG 转换为 ICO,设置所需的大小并保持透明度:(适用于 ImageMagick 7.0 或更高版本)
convert -background transparent "favicon.png" -define icon:auto-resize=16,24,32,48,64,72,96,128,256 "favicon.ico"
在此示例中,ico 文件将有 9 个条目:16x16 像素、24x24 像素等(假设它是方形的)
提示:如果您使用的是 Windows 7,您可以将以下代码保存到 REG 文件并将其应用到注册表。这将在 PNG 文件的上下文菜单中创建一个名为“转换为 ICO”的条目。当您右键单击 file.png 并选择此命令时,将在同一文件夹中生成 file.png.ico。
InstallConvertToIcoCtxMenu.reg(记得把ImageMagick的路径替换成你电脑上安装的路径)
Windows Registry Editor Version 5.00
; Created with Default Programs Editor
; http://defaultprogramseditor.com/
; Edit Verb
[HKEY_CURRENT_USER\Software\Classes\pngfile\shell\ConvertToICO]
@="Convert to ICO"
[HKEY_CURRENT_USER\Software\Classes\pngfile\shell\ConvertToICO\command]
@="\"C:\\Program Files\\ImageMagick\\7.0.3-Q16\\convert.exe\" -background transparent \"%1\" -define icon:auto-resize=16,24,32,48,64,72,96,128,256 \"%1.ico\""
[HKEY_CURRENT_USER\Software\Classes\pngfile\shell\ConvertToICO]
"Icon"="C:\\Program Files\\ImageMagick\\7.0.3-Q16\\convert.exe,0"
https://i.imgur.com/vAoE9DC.jpg
ICO 问题的一种解决方案是不使用它:
<link rel=icon href=/favicon.png>
适用于所有浏览器,您可以使用压缩更好的更清晰的文件格式。