Php 对于某些文件,imagick转换为ico失败

Php 对于某些文件,imagick转换为ico失败,php,image,imagemagick,ico,Php,Image,Imagemagick,Ico,在这里,我必须缓存大约2000个favicon.ico文件以提高性能。我抓取这些文件,并尝试通过IMagick(v.6.6.0)和php5.3.5对它们进行压缩 这方面的PHP代码是 try { $image = new Imagick($im_hint . ':' . BASE . '/upload/favicon.ico'); $image->cropThumbnailImage(16, 16); $image->setImageFormat('ico'); $image->

在这里,我必须缓存大约2000个favicon.ico文件以提高性能。我抓取这些文件,并尝试通过IMagick(v.6.6.0)和php5.3.5对它们进行压缩 这方面的PHP代码是

try {
$image = new Imagick($im_hint . ':' . BASE . '/upload/favicon.ico');
$image->cropThumbnailImage(16, 16);
$image->setImageFormat('ico');
$image->writeImage(BASE . '/favicons/' . $id[0] . '/' . $id[1] . '/' . $id[2] . '/' . $id . '.ico');
} catch (Exception $e) { die($e->getMessage()); }
其中$im_提示可以是ico、png、jpg等等。 对于99%的文件,一切都很好,我得到了一个工作的ICO文件。但对于百分之一的文件,我只得到一个空白的ICO文件,我不知道为什么?此代码失败的ICO文件示例如下 我尝试注释掉cropThumbnailImage调用,尝试使用setFormat而不是setImageFormat,并尝试将其保存为PNG…但没有任何效果。也不例外


认为

不是对您问题的回答,但当我在IrfanView或PhotoImpact中打开示例文件时,我也会得到一张空白图像。它不是多页/多分辨率文件,因此无需切换。画布上一片空白

不过,Windows7的内置预览效果很好


可能是IM无法处理这些文件,因为它们的格式或子格式错误

好的,谢谢你的提示。在WindowsXP上的Firefox3.6中,一切都很好。