1

我设置了 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);但没有任何效果

4

1 回答 1

3

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

在您的代码中,您将图像类型设置为 png 并将压缩类型设置为 jpeg 我很确定这不会起作用。

也许尝试:

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

$im->setImageCompressionQuality(3);

您可能希望使用 optipng 或 pngcrush 来减小文件大小...

于 2012-05-16T21:56:14.140 回答