2010-04-13 85 views

Respuesta

0

No hay una manera fácil de hacer esto directamente a través de las bibliotecas integradas de php. Para escribir un archivo ico, necesitará escribir bits y bytes individuales a mano para adaptarlos al formato del archivo. La forma más fácil sería usar una biblioteca de terceros.

phpthumb es una buena herramienta para esto.

http://phpthumb.sourceforge.net/

1

This parece sugerir Imagick puede hacer esto.

De lo contrario, podría hacer la conversión en el servidor utilizando una herramienta externa y el servidor del archivo .ico. Las herramientas para lograr esto se han analizado en Stack Overflow before (bueno, haciendo la transformación opuesta, pero apuesto a que la mayoría de ese software puede hacer lo que necesita).

4

Después de buscar en Google y experimentar la luz, parece que un archivo .ico es básicamente un BMP con otra extensión de archivo. Creo que el formato ICO admite más resoluciones en un archivo, pero un BMP parece constituir un archivo ICO mínimo. Debería poder generar archivos BMP fácilmente con gd o ImageMagick.

+0

gd no guarda los archivos .ico como sé – adiian

+1

@php Lo siento, no entendió el punto. Si mi especulación sobre los archivos ICO que se están extendiendo a los archivos BMP es correcta, debería funcionar. – deceze

+1

Simplemente guardando en cruz un archivo de formato BMP creado por GD como .ico no funciona. Parece que hay más que eso. –

0

Por mi plugin WP: http://wordpress.org/extend/plugins/wp-favicons/ estoy usando este ico lib: http://www.tom-reitz.com/2009/02/17/php-ico-to-png-conversion/comment-page-1/#comment-14883 aquí está el código: http://plugins.trac.wordpress.org/browser/wp-favicons/trunk/plugins/filters/convert_to_png.php

Funciona con casi todos los iconos, pero algunos como una icono encontrado aquí: http://www.slatch.com/ dame: Aviso: desplazamiento de cadena no inicializada: 64 etc. ... en la línea 296.

Así que ... si ha encontrado un .ico php lib mejor de lo que puedo reemplazarlo con otro :)

5

El archivo https://github.com/chrisbliss18/php-ico recientemente cargado crea archivos ICO válidos que incluyen varias resoluciones incorporadas de archivos PNG y otros formatos de archivo utilizando solo PHP y la biblioteca GD.