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.


Top ↑

Parameters

$max_w int|null Required
Image width.
$max_h int|null Required
Image height.
$crop bool Optional

Default: false


Top ↑

Return

true|WP_Error


Top ↑

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 );
}


Top ↑

Changelog

Changelog
Version Description
3.5.0 Introduced.

Top ↑

User Contributed Notes

You must log in before being able to contribute a note or feedback.