使用ImageMagick进行程序化转换favicon.ico为png

14

看起来ImageMagick并不总是将单个favicon.ico文件转换为可预测的单个png文件-对于某些favicon,它会生成一堆其他的favicon-01.png,favicon-02.png等等...是否有办法找出你想要的实际转换后的favicon - 或找出生成了多少个,以删除不需要的文件?

3个回答

24

在我尝试转换博客的网站图标时,我遇到了同样的问题,最后通过使用Imagemagick的-flatten参数来解决:

convert "favicon.ico" -thumbnail 16x16 -alpha on -background none -flatten "favicon.png"

alt text


1
完美无瑕,而且它还保留了透明背景。谢谢! - Ferdinand Prantl
另外,你可以检查我的网络服务http://geticon.org/以及它的源代码:https://github.com/gokercebeci/geticon。 - goker
再次,图像处理领域的瑞士军刀拯救了我免受巨大的头痛之苦。 - Andreas

3

这可能是因为图标文件中有多个图像 - 这是为不同的上下文提供不同的分辨率。您可能希望在目标目录中运行一个搜索 favicon*.png,然后检查每个图像的尺寸以找到所需的那一个(在此过程中删除其他图像)。


2
我猜其中一些是动画GIF图像。您可以按照以下描述获取第一个图像:

i.e.:

$magick> convert 'images.gif[0]' image.png

我没有安装ImageMagic,但你可以尝试上述方法来处理所有的favicon.ico,这可能会很好用。
否则,你可能需要编写一个脚本来检查favicon-01.png是否存在,如果存在,则将其重命名为favicon.png并删除favicon-*.png(前提是在工作文件夹中没有其他同名文件)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接