日期:2014-05-17  浏览次数:20482 次

php中magickwand库生成GIF格式图片保存或输出时非常慢,有人知道原因吗?
因为GD库没有写GIF动图的功能,所有用MAGICKWAND来实现,确实是非常好用,但我用XDEBUG发现生成GIF图(越大越明显)时不管是保存到文件还是直接输出都非常慢,当我用JPG/PNG格式时就不会有这样的问题,以下是代码说明:

<?php
$newMw = newmagickwand();
magicksetformat($newMw,'gif');
magickreadimage($newMw,'old.gif');
MagickWriteImages($newMw,'filename.gif');
?>
以上代码执行要花 700ms!!!


<?php
$newMw = newmagickwand();
magicksetformat($newMw,'jpg');
magickreadimage($newMw,'old.gif');
MagickWriteImages($newMw,'filename.gif');
?>
而以上代码只要 30ms!!!


------解决方案--------------------
不知道 是你的服务器问题 吧
------解决方案--------------------
magicksetformat($newMw,'gif'); 这句最好写成 magicksetformat($newMw,'GIF');

我这里测试都挺慢的 jpg的0.3秒 gif的0.5秒
( PHP4.4.8 ImageMagick 6.3.4 )