PHP 7.1.24 Released


(PHP 5 >= 5.5.0, PHP 7)

imagecropautoCrop an image automatically using one of the available modes


resource imagecropauto ( resource $image [, int $mode = -1 [, float $threshold = .5 [, int $color = -1 ]]] )

Automatically crops an image according to the given mode.



Um resource de imagem, retornado por funções de criação de imagens, como imagecreatetruecolor().


One of the following constants:

Attempts to use IMG_CROP_TRANSPARENT and if it fails it falls back to IMG_CROP_SIDES.
Crops out a transparent background.
Crops out a black background.
Crops out a white background.
Uses the 4 corners of the image to attempt to detect the background to crop.
Crops an image using the given threshold and color.

Specifies the tolerance in percent to be used while comparing the image color and the color to crop. The method used to calculate the color difference is based on the color distance in the RGB(a) cube.

Used only in IMG_CROP_THRESHOLD mode.


Either an RGB color value or a palette index.

Used only in IMG_CROP_THRESHOLD mode.

Valor Retornado

Returns a cropped image resource on success ou FALSE em caso de falha. If no cropping would occur, or the complete image would be cropped, that is treated as failure, i.e. imagecrop() returns FALSE.


Exemplo #1 Proper handling of auto-cropping

As noted in the return value section, imagecropauto() returns FALSE when there is either nothing to crop or the whole image would be cropped. In this example we have an image resource $im which should be automatically cropped only if there is something to crop; otherwise we want to proceed with the original image.

if (
$cropped !== false) { // in case a new image resource was returned
imagedestroy($im);    // we destroy the original image
$im $cropped;       // and assign the cropped image to $im

Veja Também

add a note add a note

User Contributed Notes 2 notes

2 years ago
In some cases the use of the IMG_CROP_WHITE or IMG_CROP_BLACK does not work. The function returns FALSE. It is best to use the IMG_CROP_THRESHOLD mode and specify the color in fourth argument as in the example below :


= imagecreatefromjpeg($image_path);

// Use this :
$cropped_img_white = imagecropauto($original_img , IMG_CROP_THRESHOLD, null, 16777215);
// Rather than :
$cropped_img_white = imagecropauto($original_img , IMG_CROP_WHITE);

// AND

// Use this :
$cropped_img_black = imagecropauto($original_img , IMG_CROP_THRESHOLD, null, 0);
// Rather than :
$cropped_img_black = imagecropauto($original_img , IMG_CROP_BLACK);

Ray.Paseur sometimes uses Gmail
1 year ago
Please see the note on ImageCrop() that describes an extraneous black line at the bottom of the cropped image.

Bug 67447 applies to ImageCropAuto(), too.
To Top