I know how to convert a bitmap image to a website icon, thanks to the following one-line linux command:
1$ bmptoppm favicon.bmp | ppmtowinicon -output favicon.ico
This will convert the
favicon.bmp
file to
favicon.ico
.
Today I needed to do the same with a Png file as input. After some tests, I found the corresponding command:
1$ pngtopnm -mix favicon.png | ppmtowinicon -output favicon.ico
This work well, but if the original
.png
file has an
alpha channel
, it will be replaced by a white background.
To override this default behaviour, add the
background
option to
pngtopnm
. For example, if you want a blue background, the command to use is the following:
1$ pngtopnm -background=rgb:00/00/ff favicon.png | ppmtowinicon -output favicon.ico
In here, the
00/00/ff
parameter is the hexadecimal conversion of RGB encoding of the blue color.
By the way, if you need more information about website icons, I advise you to take a look at the favicon wikipedia article . Here you will find useful tips about the conventions to apply in order to have a favicon supported by most (if not all) major browsers.