Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert favicon.ico to png to using ImageMagick Procedurally

It looks like ImageMagick does not always convert a single favicon.ico file to a predictable single png file - for some favicon's, it generates a bunch of other favicon-01.png, favicon-02.png, etc... Is there a way to figure out which one's the actual converted favicon you want - or figure out how many got generated, to delete the unwanted ones?

like image 651
ina Avatar asked Nov 18 '10 02:11

ina


3 Answers

I came across with the same problem while I was trying to convert blogger's favicon and I solved it by using -flatten parameter of Imagemagick like this:

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

alt text

like image 185
goker.cebeci Avatar answered Nov 14 '22 08:11

goker.cebeci


This likely happens because there are multiple images in the icon file - this is to provide differet resolutions for different contexts. Presumably you'd want to run a search in the target directory for favicon*.png, then check the dimensions of each one to find the one you wanted (deleting the others as you go).

like image 27
Niet the Dark Absol Avatar answered Nov 14 '22 07:11

Niet the Dark Absol


I guess some of these are animated gifs. You can take the first one as described here:

  • http://www.imagemagick.org/script/command-line-processing.php

i.e.:

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

I don't have ImageMagic installed, but you might try the above for all favicon.ico, it might work fine.

Otherwise, you would probably need to write a script to check for favicon-01.png and, if it exists, rename it to favicon.png and delete favicon-*.png (provided you don't have anything else named like that in the working folder).

like image 2
icyrock.com Avatar answered Nov 14 '22 07:11

icyrock.com