Php Imagick和jpeg图像压缩-无更改?
所以,我正在用Imagick PHP库测试我们的一些图像,看看我们想要使用什么压缩。但无论我做什么,输出文件似乎都没有任何更改。这是我的基本过程: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
$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);
为了
该死!我读了这篇文章,仍然设法在中复制了错误的函数名。谢谢该死!我读了这篇文章,仍然设法在中复制了错误的函数名。谢谢