WP_Image_Editor_Imagick::crop( int $src_x, int $src_y, int $src_w, int $src_h, int $dst_w = null, int $dst_h = null, bool $src_abs = false )

Crops Image.

Parameters

$src_x

(int) (Required) The start x position to crop from.

$src_y

(int) (Required) The start y position to crop from.

$src_w

(int) (Required) The width to crop.

$src_h

(int) (Required) The height to crop.

$dst_w

(int) (Optional) The destination width.

Default value: null

$dst_h

(int) (Optional) The destination height.

Default value: null

$src_abs

(bool) (Optional) If the source crop points are absolute.

Default value: false

Return

(true|WP_Error)

Source

File: wp-includes/class-wp-image-editor-imagick.php

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

Changelog

Version Description
3.5.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_image_editor_imagick/crop