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

Chr*_*aid 67 favicon imagemagick

来自:JPG,致:ICO;

/usr/bin/convert -resize x16 -gravity center -crop 16x16+0+0 input.jpg \
-transparent white -colors 256 output/favicon.ico 
Run Code Online (Sandbox Code Playgroud)

这是命令行的输出.

来自:GIF,PNG To:ICO;

/usr/bin/convert -resize x16 -gravity center -crop 16x16+0+0 input.png \
-flatten -colors 256 output/favicon.ico 
Run Code Online (Sandbox Code Playgroud)

我有透明度问题.我似乎无法获得正确的代码,我尝试过-channel alpha -negate等

这会创建一个图像,当我申请该网站时,它适用于Firefox,但没有其他浏览器.IE,Chrome,Opera和Safari都出于某种原因讨厌它,它是一个简单的favicon.ico文件.我的结论是,我的命令必定是某个地方正在破裂.请帮忙?

jco*_*and 42

将此选项添加到convert:

-background transparent
Run Code Online (Sandbox Code Playgroud)

但是,请记住,原始图像实际上必须具有Alpha通道.PNG可能有alpha通道,JPEG则没有.


gee*_*ley 10

要将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"
Run Code Online (Sandbox Code Playgroud)

在这个例子中,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"
Run Code Online (Sandbox Code Playgroud)

上下文菜单中添加了一个条目


Kor*_*nel 7

解决 ICO 问题的一种方法是不使用它:

<link rel=icon href=/favicon.png>
Run Code Online (Sandbox Code Playgroud)

适用于所有浏览器,您可以使用具有更好压缩效果的更清晰的文件格式。

  • IE11+ 支持此功能。但 SVG 支持([mozilla bug](https://bugzilla.mozilla.org/show_bug.cgi?id=366324))会更好。 (4认同)