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


73

从: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文件。我的结论是,一定是我的命令在某个地方中断了。请帮忙?


3
您可以显示一个样本ICO文件吗?
佩卡

2
此命令“就像您的命令”在这里似乎可以正常使用:$ convert -resize 1 28x128 images / note.png-透明白-colors 256 favicon.ico
rogerdpack 2012年

我想我缺少了一些地方:convert convert: No encode delegate for this image format (favicon.ico) [No such file or directory].显然Debian JessieICO在ImageMagick中缺乏支持。这为我工作:icotool -c -o favicon.ico FILENAME。参见randomhacks.co.uk/how-to-convert-a-png-to-ico-file-ubuntu-linux
Tino

Answers:


43

将此选项添加到convert

-background transparent

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


20

要将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 px,24x24 px等(假设它是正方形的)


提示: 如果您使用的是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"

条目添加到上下文菜单


4

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

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

在所有浏览器中均可使用,并且您可以使用更好的文件格式并具有更好的压缩率。


4
IE11 +支持此功能。但是SVG支持(mozilla bug)会更好。
0b10011
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.