使用PHP将PNG文件转换为ICO文件

11
我想创建一个PHP脚本,将PNG文件转换为ICO文件。是否可以仅使用PHP实现?如何实现?
谢谢!
6个回答

14

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

据我所知,gd无法保存.ico文件。 - adiian
1
@php 抱歉,你误解了重点。如果我对 ICO 文件是 BMP 文件的扩展的猜测是正确的,那么它应该可以工作。 - deceze
1
仅仅将GD创建的BMP格式文件另存为.ico格式并不能解决问题。似乎还有更多需要考虑的地方。 - Tom Auger

2

0

虽然 PHP 内置库没有直接实现这个的简单方法。但是,要编写一个 ico 文件,您需要手动编写适合文件格式的各个位和字节。最简单的方法是使用第三方库。

phpthumb 是一个很好的工具。

http://phpthumb.sourceforge.net/


0

0

关于我的WP插件:http://wordpress.org/extend/plugins/wp-favicons/,我正在使用这个ico库: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/ 在第296行会出现“注意:未初始化的字符串偏移量:64”等错误。

所以...如果你找到了比我更好的.ico php库,我可以用另一个替换它 :)


代码似乎在 https://plugins.trac.wordpress.org/browser/wp-favicons/trunk/includes/server/plugins/filters 上。 - yunzen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接