WordPress.org

Make WordPress Core

Ticket #24380: 24380.4.diff

File 24380.4.diff, 1.8 KB (added by DrewAPicture, 5 years ago)

docs tweaks

  • src/wp-includes/class-wp-image-editor-gd.php

     
    384384                                imagetruecolortopalette( $image, false, imagecolorstotal( $image ) );
    385385
    386386                        /*
    387                          * Invert the 1-100 quality scale and constrain it to 0-9,
    388                          * as per imagepng()'s peculiar quality parameter.
     387                         * Convert quality value (1-100) to the 0-9 scale needed for GD.
     388                         *  0 = no compression
     389                         *  1 = worst compression
     390                         *  9 = best compression
     391                         * -1 = use default zlib compression
    389392                         */
    390                         $compression_level = floor( ( 101 - $this->quality ) * 0.09 );
     393                        $compression_level = floor( $this->quality / 10 );
    391394
     395                        if ( $compression_level > 9 ) {
     396                                $compression_level = 9;
     397                        } elseif ( -1 != $compression_level && $compression_level < 0 ) {
     398                                $compression_level = 0;
     399                        }
    392400                        if ( ! $this->make_image( $filename, 'imagepng', array( $image, $filename, $compression_level ) ) ) {
    393401                                return new WP_Error( 'image_save_error', __('Image Editor Save Failed') );
    394402                        }
  • src/wp-includes/class-wp-image-editor.php

     
    241241                                        $this->quality = $this->default_quality;
    242242                                }
    243243                        }
    244                 }
     244                } elseif ( 'image/png' == $this->mime_type ) {
     245                        /**
     246                         * Filter the PNG compression level.
     247                         *
     248                         * @since 4.0.0
     249                         *
     250                         * @param int $quality Compression level. Falls between 1 (worst compression)
     251                         *                     and 100 (best but slowest compression).
     252                         */
     253                        $quality = apply_filters( 'png_compression_level', $quality );
     254                }
    245255
    246256                return $this->quality;
    247257        }