WP_Image_Editor_Imagick::set_quality PHP Method

set_quality() public method

Sets Image Compression quality on a 1-100% scale.
Since: 3.5.0
public set_quality ( integer $quality = null ) : true | WP_Error
$quality integer Compression Quality. Range: [1,100]
return true | WP_Error True if set successfully; WP_Error on failure.
    public function set_quality($quality = null)
    {
        $quality_result = parent::set_quality($quality);
        if (is_wp_error($quality_result)) {
            return $quality_result;
        } else {
            $quality = $this->get_quality();
        }
        try {
            if ('image/jpeg' == $this->mime_type) {
                $this->image->setImageCompressionQuality($quality);
                $this->image->setImageCompression(imagick::COMPRESSION_JPEG);
            } else {
                $this->image->setImageCompressionQuality($quality);
            }
        } catch (Exception $e) {
            return new WP_Error('image_quality_error', $e->getMessage());
        }
        return true;
    }