我多年来一直在使用http://tools.dynamicdrive.com/favicon/来生成favicon。在我知道如何进行任何编码之前我开始使用它(我现在不是很好)。我不介意使用该实用程序,因为图标看起来总是很好,但我希望能够在本地进行。
如何使用脚本在本地创建图标?不知何故使用PHP,imagemagick / gd或者从命令行中啜饮?
答案 0 :(得分:3)
您可以使用imagemagik转换。我从this website获取了这些命令。
首先制作一张主图像:
convert some_image.bmp -resize 256x256 -transparent white favicon-256.png
然后我们想要为你想要包含的每个尺寸制作图像 .ico文件。
convert favicon-256.png -resize 16x16 favicon-16.png
convert favicon-256.png -resize 32x32 favicon-32.png
convert favicon-256.png -resize 64x64 favicon-64.png
convert favicon-256.png -resize 128x128 favicon-128.png
现在你要将它们捆绑到.ico文件中,这就是我的伎俩 发现它是256色,否则无法正常显示!
convert favicon-16.png favicon-32.png favicon-64.png favicon-128.png favicon-256.png -colors 256 favicon.ico
答案 1 :(得分:2)
ImageMagick或phpThumb将为您完成此操作,但更简单的解决方案(仅需要PHP和GD库)是https://github.com/chrisbliss18/php-ico
答案 2 :(得分:0)
您真正需要做的就是将图像调整为16x16文件。虽然ICO格式曾经是标准格式,但现代浏览器可以处理PNG, GIF, and JPG (among other formats)。
通过谷歌搜索可以轻松找到调整大小脚本,例如:
http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/
答案 3 :(得分:0)
查看此脚本: http://bgallz.org/488/php-favicon-generator-script/
我用PHP编写它来从jpeg,gif或png生成一个favicon(.ico)文件。正如上面所说,大多数浏览器现在支持图标的图像文件。此脚本只是将文件的扩展名改为“.ico”
正如我所说:
// Rename image to .ico file
rename($filename,"./favicon/".$strip_ext.".ico");
答案 4 :(得分:0)
此脚本更新现有文件,您可能需要为您的项目更改它。删除“确认”行,或获取我的确认脚本以进行操作。
警告:它会破坏当前目录中的任何 .png
文件。
#!/bin/bash -eu
# public domain, by Sam Watkins
echo "You need to run this from a directory containing only the png icons."
confirm "Are you in the icons directory?"
source=`readlink -f "$1"`
chmod -w $source
v convert "$source" -resize 512x512 -background white -alpha remove -alpha off tmp-512-white.png
v convert "$source" -resize 512x512 tmp-512.png
sizes="16 32 64 128 256"
favicons=
for W in $sizes; do
F=favicon-${W}x$W.png
v convert tmp-512.png -resize ${W}x$W $F
favicons="$favicons $F"
done
v convert $favicons -colors 256 favicon.ico
for F in *.png; do
case "$F" in
favicon-*)
;;
apple-touch-icon*)
v convert tmp-512-white.png -resize `identify -format "%wx%h" "$F"` "$F"
;;
*)
v convert tmp-512.png -resize `identify -format "%wx%h" "$F"` "$F"
;;
esac
done
rm -f tmp-512-white.png tmp-512.png