如何使用脚本在本地创建图标?

时间:2012-10-09 23:15:29

标签: php imagemagick gd favicon

我多年来一直在使用http://tools.dynamicdrive.com/favicon/来生成favicon。在我知道如何进行任何编码之前我开始使用它(我现在不是很好)。我不介意使用该实用程序,因为图标看起来总是很好,但我希望能够在本地进行。

如何使用脚本在本地创建图标?不知何故使用PHP,imagemagick / gd或者从命令行中啜饮?

5 个答案:

答案 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

https://ucm.dev/b/make-icons

https://ucm.dev/b/confirm