WP_Image_Editor_GD::crop() WordPress Method
The WP_Image_Editor_GD::crop() function crops an image using GD.
WP_Image_Editor_GD::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-gd.php
public function crop( $src_x, $src_y, $src_w, $src_h, $dst_w = null, $dst_h = null, $src_abs = false ) { // 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; } foreach ( array( $src_w, $src_h, $dst_w, $dst_h ) as $value ) { if ( ! is_numeric( $value ) || (int) $value <= 0 ) { return new WP_Error( 'image_crop_error', __( 'Image crop failed.' ), $this->file ); } } $dst = wp_imagecreatetruecolor( (int) $dst_w, (int) $dst_h ); if ( $src_abs ) { $src_w -= $src_x; $src_h -= $src_y; } if ( function_exists( 'imageantialias' ) ) { imageantialias( $dst, true ); } imagecopyresampled( $dst, $this->image, 0, 0, (int) $src_x, (int) $src_y, (int) $dst_w, (int) $dst_h, (int) $src_w, (int) $src_h ); if ( is_gd_image( $dst ) ) { imagedestroy( $this->image ); $this->image = $dst; $this->update_size(); return true; } return new WP_Error( 'image_crop_error', __( 'Image crop failed.' ), $this->file ); }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
3.5.0 | Introduced. |