WP_Image_Editor_Imagick::resize( int|null $max_w, int|null $max_h, bool $crop = false ): true|WP_Error
Resizes current image.
Description
At minimum, either a height or width must be provided.
If one of the two is set to null, the resize will maintain aspect ratio according to the provided dimension.
Parameters
-
$max_w
int|null Required -
Image width.
-
$max_h
int|null Required -
Image height.
-
$crop
bool Optional -
Default:
false
Return
true|WP_Error
Source
File: wp-includes/class-wp-image-editor-imagick.php
.
View all references
public function resize( $max_w, $max_h, $crop = false ) {
if ( ( $this->size['width'] == $max_w ) && ( $this->size['height'] == $max_h ) ) {
return true;
}
$dims = image_resize_dimensions( $this->size['width'], $this->size['height'], $max_w, $max_h, $crop );
if ( ! $dims ) {
return new WP_Error( 'error_getting_dimensions', __( 'Could not calculate resized image dimensions' ) );
}
list( $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h ) = $dims;
if ( $crop ) {
return $this->crop( $src_x, $src_y, $src_w, $src_h, $dst_w, $dst_h );
}
self::set_imagick_time_limit();
// Execute the resize.
$thumb_result = $this->thumbnail_image( $dst_w, $dst_h );
if ( is_wp_error( $thumb_result ) ) {
return $thumb_result;
}
return $this->update_size( $dst_w, $dst_h );
}
Changelog
Version | Description |
---|---|
3.5.0 | Introduced. |