Php 为什么gmagick::thumbnailimage比exec(gm)慢?

Php 为什么gmagick::thumbnailimage比exec(gm)慢?,php,graphicsmagick,gmagick,Php,Graphicsmagick,Gmagick,在尝试用PHP简单地缩略图像时,我使用了: $image = new Gmagick('/tmp/large.jpg'); $image->thumbnailImage(0, 100); $image->writeImage('/tmp/small.jpg'); 大约用了15秒 然后我试着: exec('gm convert -size 200x100 /tmp/large.jpg -resize 200x100 +profile "*" /tmp/small.jpg'); 不到

在尝试用PHP简单地缩略图像时,我使用了:

$image = new Gmagick('/tmp/large.jpg');
$image->thumbnailImage(0, 100);
$image->writeImage('/tmp/small.jpg');
大约用了15秒

然后我试着:

exec('gm convert -size 200x100 /tmp/large.jpg -resize 200x100 +profile "*" /tmp/small.jpg');
不到一秒钟的时间

有人能尽可能详细地解释原因吗?还有,有什么理由我“不应该”使用第二种方法吗?或者有没有办法让gmagick扩展更快

版本详细信息:

gmagick-1.1.0RC3

GraphicsMagick-GraphicsMagick 1.3.17 2012-10-13 Q8

我发现'-size'选项不是php缩略图方法的一部分。一旦我手动添加了它,下面的php代码实际上比命令行运行得稍微快一些

$image = new Gmagick();
$image->setSize(200,200);    // This sets the size of the canvas. Should be roughly twice the dimensions of the desired thumbnail for antialiasing to work well.
$image->readImage('/tmp/large.jpg');
$image->thumbnailImage(0, 100);
$image->writeImage('/tmp/small.jpg');

帮助很大。

一个更好的问题可能是:为什么这是我能找到的唯一Gmagick示例?然而,我只需要一个。谢谢