ChatGPT解决这个技术问题 Extra ChatGPT

使用 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、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 文件。我的结论是,一定是我的命令在某个地方被破坏了。请帮忙?

你能展示一个示例 ICO 文件吗?
这个“像你的”命令在这里似乎工作正常: $ convert -resize 1 28x128 images/note.png -transparent white -colors 256 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

j
jcoffland

将此选项添加到 convert

-background transparent

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


g
geekley

要将 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


K
Kornel

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

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

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


IE11+ 支持这个。但 SVG 支持 (mozilla bug) 会更好。

关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅