使用PHP将png文件转换为ico

时间:2010-04-13 08:40:56

标签: php png gd icons

我想创建一个将png文件转换为ico文件的PHP脚本。是不是可以用PHP做到这一点?怎么样?

谢谢!!!

6 个答案:

答案 0 :(得分:6)

最近上传的https://github.com/chrisbliss18/php-ico创建了有效的ICO文件,包括来自PNG文件的多个嵌入式分辨率以及仅使用PHP和GD库的其他文件格式。

答案 1 :(得分:4)

经过一些谷歌搜索和轻量级实验后,似乎.ico文件基本上是另一个文件扩展名的BMP。我相信ICO格式在一个文件中支持更多分辨率,但BMP似乎构成了一个最小的ICO文件。您应该可以使用gd或ImageMagick轻松生成BMP文件。

答案 2 :(得分:1)

This似乎建议Imagick可以做到这一点。

否则,您可以使用外部工具在服务器上进行转换,并为.ico文件提供服务。在Stack Overflow before中已经分析了实现这一目标的工具(好吧,做了相反的转换,但我敢打赌,大多数软件可以做你需要的。)

答案 3 :(得分:0)

尽管php内置了库,但没有简单的方法可以直接执行此操作。要编写ico文件,您需要手动编写单个位和字节以适合文件格式。最简单的方法是使用第三方库。

phpthumb是一个很好的工具。

http://phpthumb.sourceforge.net/

答案 4 :(得分:0)

我会尝试使用floIcon:http://tech.flobi.com/test/floIcon/

答案 5 :(得分:0)

对于我的WP插件:http://wordpress.org/extend/plugins/wp-favicons/我正在使用这个ico lib:http://www.tom-reitz.com/2009/02/17/php-ico-to-png-conversion/comment-page-1/#comment-14883这里是代码:http://plugins.trac.wordpress.org/browser/wp-favicons/trunk/plugins/filters/convert_to_png.php

它适用于几乎所有图标,但有些像这里的图标:http://www.slatch.com/给我:注意:未初始化的字符串偏移:64等......在第296行。

所以......如果你找到了一个更好的.ico php lib而不是用另一个替换那个:)