W3cubDocs

/WordPress

WP_Image_Editor_GD::_resize( int $max_w, int $max_h, bool|array $crop = false ): resource|GdImage|WP_Error

Parameters

$max_wintrequired
$max_hintrequired
$cropbool|arrayoptional
Image cropping behavior. If false, the image will be scaled (default).
If true, image will be cropped to the specified dimensions using center positions.
If an array, the image will be cropped using the array to specify the crop location:
  • 0 string
    The x crop position. Accepts 'left' 'center', or 'right'.
  • 1 string
    The y crop position. Accepts 'top', 'center', or 'bottom'.

Default:false

Return

resource|GdImage|WP_Error

Source

protected function _resize( $max_w, $max_h, $crop = false ) {
	$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' ), $this->file );
	}

	list( $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h ) = $dims;

	$resized = wp_imagecreatetruecolor( $dst_w, $dst_h );
	imagecopyresampled( $resized, $this->image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h );

	if ( is_gd_image( $resized ) ) {
		$this->update_size( $dst_w, $dst_h );
		return $resized;
	}

	return new WP_Error( 'image_resize_error', __( 'Image resize failed.' ), $this->file );
}

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_image_editor_gd/_resize