【问题标题】:Generating Lots of Thumbnails Using Imagick使用 Imagick 生成大量缩略图
【发布时间】:2011-12-04 16:29:58
【问题描述】:

当我使用 Imagick 生成缩略图时,我会加载一次图像,使用:

$im = new Imagick( $filePath );

然后我通过这个$im 对象来创建不同的大小使用

 $im->thumbnailImage($newX, $newY);

但是,我观察到,当我使用相同的 $im 图像资源时,图像 blob 的质量不如我再次读取文件并通过再次打开文件重新开始。

这让我想,也许我应该在我执行thumbnailImage() 之后做一些事情以将其重置回原始文件资源?

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

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

另外,如果原图是32kb,我最后写出来的$im大概是90kb。

【问题讨论】:

    标签: php imagick


    【解决方案1】:

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

    $im_thumb = clone $im;
    

    要使用setCompressionQuality 方法创建小尺寸的图像,通常60 或70 就可以了。

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

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

    【讨论】:

      猜你喜欢
      • 2016-05-03
      • 1970-01-01
      • 2011-12-11
      • 2013-03-20
      • 2011-06-24
      • 2021-03-12
      • 2012-11-18
      • 2011-09-03
      • 2013-03-11
      相关资源
      最近更新 更多