WP_Image_Editor_Imagick::resize()publicWP 3.5.0

Resizes current image.

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.

Метод класса: WP_Image_Editor_Imagick{}

Хуков нет.

Возвращает

true|WP_Error.

Использование

$WP_Image_Editor_Imagick = new WP_Image_Editor_Imagick();
$WP_Image_Editor_Imagick->resize( $max_w, $max_h, $crop );
$max_w(int|null) (обязательный)
Image width.
$max_h(int|null) (обязательный)
Image height.
$crop(true|false)
-
По умолчанию: false

Список изменений

С версии 3.5.0 Введена.

Код WP_Image_Editor_Imagick::resize() WP 6.1.1

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

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