php8.5
Home/ Manual/ imagick / imagick/ Imagick::setCompressionQuality

Imagick::setCompressionQuality

PHP function Edit on GitHub ✎

(PECL imagick 2, PECL imagick 3)

Sets the object's default compression quality

Description

Imagick::setCompressionQuality(int $quality): bool

Sets the object's default compression quality.

Caution

This method only works for new images e.g. those created through Imagick::newPseudoImage. For existing images you should use Imagick::setImageCompressionQuality.

Parameters

quality

An Integer between 1 and 100, 1 = high compression, 100 low compression.

Return Values

Success

Examples

Imagick::setCompressionQuality()

php
<?php
function setCompressionQuality($imagePath, $quality) {

    $backgroundImagick = new \Imagick(realpath($imagePath));
    $imagick = new \Imagick();
    $imagick->setCompressionQuality($quality);
    $imagick->newPseudoImage(
        $backgroundImagick->getImageWidth(),
        $backgroundImagick->getImageHeight(),
        'canvas:white'
    );

    $imagick->compositeImage(
        $backgroundImagick,
        \Imagick::COMPOSITE_ATOP,
        0,
        0
    );
    
    $imagick->setFormat("jpg");    
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

Source: reference/imagick/imagick/setcompressionquality.xml · from the official PHP manual (php/doc-en)