Php Imagick和jpeg图像压缩-无更改?

Php Imagick和jpeg图像压缩-无更改?,php,imagick,Php,Imagick,所以,我正在用Imagick PHP库测试我们的一些图像,看看我们想要使用什么压缩。但无论我做什么,输出文件似乎都没有任何更改。这是我的基本过程: $original_image = new \Imagick( $image_url ); foreach ( ['original', '92', '80', '60', '40'] as $compression_size ) { $tester = clone $original_image; // don't compre

所以,我正在用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版本之间没有差异。我做错了什么?

来自文档:

此方法仅适用于新图像,例如通过Imagick::newPseudoImage创建的图像。对于现有图像,应使用Imagick::setImageCompressionQuality

那么,替换

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

从文档中:

此方法仅适用于新图像,例如通过Imagick::newPseudoImage创建的图像。对于现有图像,应使用Imagick::setImageCompressionQuality

那么,替换

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


该死!我读了这篇文章,仍然设法在中复制了错误的函数名。谢谢该死!我读了这篇文章,仍然设法在中复制了错误的函数名。谢谢