在图像魔术中设置图像质量


set image quality in Imagemagick

>我来设置img的质量,但它确实有效。

  $image = 'the path to the img';
 /*** a new imagick object ***/
        $im = new Imagick();
        /*** ping the image ***/
        $im->pingImage($image);
        /*** read the image into the object ***/
        $im->readImage( $image );
        $im->setImageFormat( "png" );
        $im->setImageCompression(imagick::COMPRESSION_JPEG);
        $im->setImageCompressionQuality(1);
        $im->stripImage();
        $im->cropThumbnailImage(90,90);
        /*** write image to disk ***/
        $im->writeImage( "tmp/spork1.png" );
        $im->destroy();

我尝试使用$im->setCompressionQuality(1);但确实的工作,然后我用谷歌搜索它,有些人建议使用$im->setImageCompressionQuality(1);但没有效果

我不确定您是否可以在像 PNG 这样的无损格式上调整压缩,我相信这是针对 JPEG 的。

在您的代码中,您将图像类型设置为 png,将压缩类型设置为 jpeg 我很确定这行不通。

也许尝试:

$im->setImageCompression(Imagick::COMPRESSION_LZW);
$im->setImageCompressionQuality(3);

您可能想寻找optipng或pngcrush来减小文件大小...