Home / APIs / WP_Image_Editor::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::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.php
Lines: 1 to 54 of 54

  public function set_quality( $quality = null ) {
    if ( null === $quality ) {
      
/**
 * Filters the default image compression quality setting.
 *
 * Applies only during initial editor instantiation, or when set_quality() is run
 * manually without the `$quality` argument.
 *
 * set_quality() has priority over the filter.
 *
 * @since 3.5.0
 *
 * @param int    $quality   Quality level between 1 (low) and 100 (high).
 * @param string $mime_type Image mime type.
 */
      $quality = apply_filters( 'wp_editor_set_quality', $this->default_quality, $this->mime_type );

      if ( 'image/jpeg' == $this->mime_type ) {
        
/**
 * Filters the JPEG compression quality for backward-compatibility.
 *
 * Applies only during initial editor instantiation, or when set_quality() is run
 * manually without the `$quality` argument.
 *
 * set_quality() has priority over the filter.
 *
 * The filter is evaluated under two contexts: 'image_resize', and 'edit_image',
 * (when a JPEG image is saved to file).
 *
 * @since 2.5.0
 *
 * @param int    $quality Quality level between 0 (low) and 100 (high) of the JPEG.
 * @param string $context Context of the filter.
 */
        $quality = apply_filters( 'jpeg_quality', $quality, 'image_resize' );
      }

      if ( $quality < 0 || $quality > 100 ) {
        $quality = $this->default_quality;
      }
    }

    // Allow 0, but squash to 1 due to identical images in GD, and for backward compatibility.
    if ( 0 === $quality ) {
      $quality = 1;
    }

    if ( ( $quality >= 1 ) && ( $quality <= 100 ) ) {
      $this->quality = $quality;
      return true;
    } else {
      return new WP_Error( 'invalid_image_quality', __('Attempted to set image quality outside of the range [1,100].') );
    }
  }
 

 View on GitHub View on Trac

Published: 11th March 2017 | Last updated: 13th March 2017

Information

Function name: WP_Image_Editor::set_quality
Class ref: WP_Image_Editor
Plugin ref: WordPress
Version: 5.0.3
Sourcefile: wp-includes/class-wp-image-editor.php
File ref: wp-includes/class-wp-image-editor.php
Deprecated?: No
API Letters: E,I,Q,S,W

  • Plugins
  • Themes
  • Shortcodes
  • APIs
  • Files
  • Hooks
  • Classes
  • Home
  • Sites
  • Sitemap
  • Blog
Genesis a2z Genesis Theme Framework a2z
WordPress Dynamic API Reference

Site:  genesis.wp-a2z.org
© Copyright Genesis a2z 2014-2019. All rights reserved.


Website designed and developed by Herb Miller
Proudly powered by WordPress and oik plugins