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 のようなロスレス形式で圧縮を調整できるかどうかはわかりませんが、これは JPEG 用だと思います。

あなたのコードでは、画像タイプを png に設定し、圧縮タイプを jpeg に設定していますが、これはうまくいかないと確信しています。

おそらく試してみてください:

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

$im->setImageCompressionQuality(3);

ファイルサイズを小さくするには、optipng または pngcrush を検討することをお勧めします...

于 2012-05-16T21:56:14.140 に答える