In `WP_Image_Editor_GD::_save()`, pass `$compression_level` into the args array for `->make_image()`.
Props MuViMoTV, markoheijnen, SergeyBiryukov, mikemanger, ericlewis. Fixes #24380. Built from https://develop.svn.wordpress.org/trunk@28640 git-svn-id: http://core.svn.wordpress.org/trunk@28458 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
ecdcfb55bb
commit
552d84a8a8
|
@ -383,8 +383,15 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
|
|||
if ( function_exists('imageistruecolor') && ! imageistruecolor( $image ) )
|
||||
imagetruecolortopalette( $image, false, imagecolorstotal( $image ) );
|
||||
|
||||
if ( ! $this->make_image( $filename, 'imagepng', array( $image, $filename ) ) )
|
||||
/*
|
||||
* Invert the 1-100 quality scale and constrain it to 0-9,
|
||||
* as per imagepng()'s peculiar quality parameter.
|
||||
*/
|
||||
$compression_level = floor( ( 101 - $this->quality ) * 0.09 );
|
||||
|
||||
if ( ! $this->make_image( $filename, 'imagepng', array( $image, $filename, $compression_level ) ) ) {
|
||||
return new WP_Error( 'image_save_error', __('Image Editor Save Failed') );
|
||||
}
|
||||
}
|
||||
elseif ( 'image/jpeg' == $mime_type ) {
|
||||
if ( ! $this->make_image( $filename, 'imagejpeg', array( $image, $filename, $this->quality ) ) )
|
||||
|
|
Loading…
Reference in New Issue