Imagick 和 jpeg 图像压缩 - 没有变化?

Imagick and jpeg image compression - no change?

因此,我正在使用 Imagick PHP 库测试我们的一些图像,以查看我们想要使用的压缩方式。但是无论我做什么,输出文件似乎都没有任何变化。这是我的基本流程:

$original_image = new \Imagick( $image_url );

foreach ( ['original', '92', '80', '60', '40'] as $compression_size )
{
    $tester = clone $original_image;

    // don't compress the original
    if ( 'original' != $compression_size )
    {
        $tester->setImageCompression(Imagick::COMPRESSION_JPEG);
        $tester->setCompressionQuality( (int) $compression_size);
    }
    $filename: <original base> . "-$compression_size.jpg";

    file_put_contents($filename, $tester->getImageBlob() );

    $tester = null;
}

结果表明,各种压缩之间的文件大小没有变化,从视觉上看,原始版本和压缩= 40版本之间没有区别。我在这里做错了什么?

来自文档 (http://php.net/manual/en/imagick.setcompressionquality.php):

This method only works for new images e.g. those created through Imagick::newPseudoImage. For existing images you should use Imagick::setImageCompressionQuality().

所以,替换

    $tester->setCompressionQuality( (int) $compression_size);

为了

    $tester->setImageCompressionQuality( (int) $compression_size);