if ( ! is_file( $this->file ) && ! preg_match( '|^https?://|', $this->file ) )
return new WP_Error( 'error_loading_image', __('File doesn’t exist?'), $this->file );
+ /** This filter is documented in wp-includes/class-wp-image-editor-imagick.php */
// Even though Imagick uses less PHP memory than GD, set higher limit for users that have low PHP.ini limits
@ini_set( 'memory_limit', apply_filters( 'image_memory_limit', WP_MAX_MEMORY_LIMIT ) );
if ( is_wp_error( $updated_size ) )
return $updated_size;
- return $this->set_quality();
+ return $this->set_quality( $this->quality );
}
/**
* @access public
*
* @param int $quality Compression Quality. Range: [1,100]
- * @return boolean|WP_Error
+ * @return boolean|WP_Error True if set successfully; WP_Error on failure.
*/
public function set_quality( $quality = null ) {
- if ( !$quality )
+ $quality_result = parent::set_quality( $quality );
+ if ( is_wp_error( $quality_result ) ) {
+ return $quality_result;
+ } else {
$quality = $this->quality;
+ }
try {
- if( 'image/jpeg' == $this->mime_type ) {
- $this->image->setImageCompressionQuality( apply_filters( 'jpeg_quality', $quality, 'image_resize' ) );
+ if ( 'image/jpeg' == $this->mime_type ) {
+ $this->image->setImageCompressionQuality( $quality );
$this->image->setImageCompression( imagick::COMPRESSION_JPEG );
}
else {
return new WP_Error( 'image_quality_error', $e->getMessage() );
}
- return parent::set_quality( $quality );
+ return true;
}
/**
$perms = $stat['mode'] & 0000666; //same permissions as parent folder, strip off the executable bits
@ chmod( $filename, $perms );
+ /** This filter is documented in wp-includes/class-wp-image-editor-gd.php */
return array(
- 'path' => $filename,
- 'file' => wp_basename( apply_filters( 'image_make_intermediate_size', $filename ) ),
- 'width' => $this->size['width'],
- 'height' => $this->size['height'],
+ 'path' => $filename,
+ 'file' => wp_basename( apply_filters( 'image_make_intermediate_size', $filename ) ),
+ 'width' => $this->size['width'],
+ 'height' => $this->size['height'],
'mime-type' => $mime_type,
);
}