使用Imagick生成大量缩略图

时间:2011-12-04 16:29:58

标签: php imagick

当我使用Imagick生成缩略图时,我使用以下方法加载图像一次

$im = new Imagick( $filePath );

然后我传递这个$im对象,使用

创建不同的大小
 $im->thumbnailImage($newX, $newY);

然而,我观察到,当我使用相同的$im图像资源时,图像斑点的质量不如我再次读取文件并通过打开文件从新鲜开始再次。

这让我觉得,在我执行thumbnailImage()之后,为了将其重置回原始文件资源,也许我应该做些什么?

此外,在我执行cropImage()之后,我无法将$im恢复为原始图像。 我试过使用$im->setImagePage(0, 0, 0, 0);没有任何运气。

我应该做些什么,而不是使用thumbnailImage来获得最佳质量?

此外,如果原始图像是32kb,那么当我最终写入时$im就像90kb。

1 个答案:

答案 0 :(得分:0)

在制作缩略图之前,您必须clone您的对象:

$im_thumb = clone $im;

要使用setCompressionQuality方法创建小尺寸图像,通常需要60或70才能完成工作。

(以上PHP链接中的许多示例)

我通常使用GD库获得更快的结果,许多指令/样本用于调整here

的大小