这里我必须缓存大约2000个favicon.ico文件以提高性能。我抓住文件并尝试通过IMagick(v.6.6.0)和PHP 5.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_hint可能是ico,png,jpg等等。 对于99%的文件都很好,我得到了一个有效的ICO文件。但对于百分之一的文件,我只得到一个空白的ICO文件,我不知道为什么?此代码失败的ICO文件示例为http://www.augensound.de/favicon.ico 我试图注释cropThumbnailImage调用并尝试使用setFormat而不是setImageFormat,并尝试将其保存为PNG ...但没有任何作用。也没有例外。
此致
答案 0 :(得分:0)
不是你问题的答案,但是当我在IrfanView或PhotoImpact中打开示例文件时,我也得到一个空白图像。它不是多页/多分辨率文件,因此无需切换。画布只是空白。
Windows 7的内置预览可以很好地呈现它。
可能是IM无法处理这些文件,因为它们的格式或子格式错误。