在Imagemagick中设置图像质量

时间:2012-05-16 21:24:37

标签: php image 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);但没有影响到什么

1 个答案:

答案 0 :(得分:3)

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

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

也许试试:

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

$im->setImageCompressionQuality(3);

您可能希望选择optipng或pngcrush来缩小文件大小...