WP_Image_Editor_Imagick::crop()publicWP 3.5.0

Crops Image.

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

Хуков нет.

Возвращает

true|WP_Error.

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

$WP_Image_Editor_Imagick = new WP_Image_Editor_Imagick();
$WP_Image_Editor_Imagick->crop( $src_x, $src_y, $src_w, $src_h, $dst_w, $dst_h, $src_abs );
$src_x(int) (обязательный)
The start x position to crop from.
$src_y(int) (обязательный)
The start y position to crop from.
$src_w(int) (обязательный)
The width to crop.
$src_h(int) (обязательный)
The height to crop.
$dst_w(int)
The destination width.
По умолчанию: null
$dst_h(int)
The destination height.
По умолчанию: null
$src_abs(true|false)
If the source crop points are absolute.
По умолчанию: false

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

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

Код WP_Image_Editor_Imagick::crop() WP 6.6.2

public function crop( $src_x, $src_y, $src_w, $src_h, $dst_w = null, $dst_h = null, $src_abs = false ) {
	if ( $src_abs ) {
		$src_w -= $src_x;
		$src_h -= $src_y;
	}

	try {
		$this->image->cropImage( $src_w, $src_h, $src_x, $src_y );
		$this->image->setImagePage( $src_w, $src_h, 0, 0 );

		if ( $dst_w || $dst_h ) {
			/*
			 * If destination width/height isn't specified,
			 * use same as width/height from source.
			 */
			if ( ! $dst_w ) {
				$dst_w = $src_w;
			}
			if ( ! $dst_h ) {
				$dst_h = $src_h;
			}

			$thumb_result = $this->thumbnail_image( $dst_w, $dst_h );
			if ( is_wp_error( $thumb_result ) ) {
				return $thumb_result;
			}

			return $this->update_size();
		}
	} catch ( Exception $e ) {
		return new WP_Error( 'image_crop_error', $e->getMessage() );
	}

	return $this->update_size();
}