WP_Image_Editor_Imagick::set_quality() – Sets Image Compression quality on a 1-100% scale.

You appear to be a bot. Output may be restricted

Description

Sets Image Compression quality on a 1-100% scale.

Usage

$true|WP_Error = WP_Image_Editor_Imagick::set_quality( $quality );

Parameters

$quality
( int ) optional – Compression Quality. Range: [1,100]

Returns

true|WP_Error True if set successfully; WP_Error on failure.

Source

File name: wordpress/wp-includes/class-wp-image-editor-imagick.php
Lines:

1 to 33 of 33
  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 {
      switch ( $this->mime_type ) {
        case 'image/jpeg':
          $this->image->setImageCompressionQuality( $quality );
          $this->image->setImageCompression( imagick::COMPRESSION_JPEG );
          break;
        case 'image/webp':
          $webp_info = wp_get_webp_info( $this->file );

          if ( 'lossless' === $webp_info['type'] ) {
            // Use WebP lossless settings.
            $this->image->setImageCompressionQuality( 100 );
            $this->image->setOption( 'webp:lossless', 'true' );
          } else {
            $this->image->setImageCompressionQuality( $quality );
          }
          break;
        default:
          $this->image->setImageCompressionQuality( $quality );
      }
    } catch ( Exception $e ) {
      return new WP_Error( 'image_quality_error', $e->getMessage() );
    }
    return true;
  }
 

 View on GitHub View on Trac