使用 Imagemagick 将 GIF、 PNG 和 JPG 文件转换为.ICO 文件

发信人: JPG,收信人: ICO;

/usr/bin/convert -resize x16 -gravity center -crop 16x16+0+0 input.jpg \
-transparent white -colors 256 output/favicon.ico

这是命令行的输出。

来自: GIF’s,PNG 到: ICO;

/usr/bin/convert -resize x16 -gravity center -crop 16x16+0+0 input.png \
-flatten -colors 256 output/favicon.ico

我对透明度有意见。我似乎不能得到正确的代码,我已经尝试-通道阿尔法-否定等

这将创建一个图像,当我应用到站点时,它可以用于 Firefox,但不能用于其他浏览器。IE 浏览器,Chrome 浏览器,Opera 浏览器和 Safari 浏览器都不喜欢它,因为它是一个简单的 Favicon.ico 文件。我的结论是,一定是我的命令在某个地方被打破。帮帮我?

44816 次浏览

解决哈里发国问题的一个办法是不使用它:

<link rel=icon href=/favicon.png>

适用于所有浏览器,并且您可以使用更健全的文件格式和更好的压缩。

将此选项添加到 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个条目: 16x16px、24x24px 等(假设它是正方形)


提示: 如果您在 Windows7上,您可以将下面的代码保存到一个 REG 文件并将其应用到注册表中。这将在 PNG 文件的上下文菜单中创建一个名为“ Convert to ICO”的条目。当右键单击 文件 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"

An entry is added to context menu