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 ): true|WP_Error
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:
null
-
$dst_h
int Optional -
The destination height.
Default:
null
-
$src_abs
bool Optional -
If the source crop points are absolute.
Default:
false
Return
true|WP_Error
Source
File: wp-includes/class-wp-image-editor-gd.php
.
View all references
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 );
}
Changelog
Version | Description |
---|---|
3.5.0 | Introduced. |