imagecropauto

(PHP 5 >= 5.5.0, PHP 7)

imagecropautoRecadre une image automatiquement en utilisant un des modes disponibles

Description

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

Recadre automatiquement une image selon le mode.

Liste de paramètres

image

Une ressource d'image, retournée par une des fonctions de création d'images, comme imagecreatetruecolor().

mode

Une constante parmi :

IMG_CROP_DEFAULT
Tente d'utiliser IMG_CROP_TRANSPARENT et utilise IMG_CROP_SIDES en cas d'échec.
IMG_CROP_TRANSPARENT
Rogne le fond transparent.
IMG_CROP_BLACK
Rogne le fond noir.
IMG_CROP_WHITE
Rogne le fond blanc.
IMG_CROP_SIDES
Utilise les 4 coins de l'image pour tenter de détecter l'arrière-plan à rogner.
IMG_CROP_THRESHOLD
Rogne l'image en utilisant le seuil threshold et color.
threshold

Spécifie la tolérance en pourcentage à utiliser lors de la comparaison de la couleur d'image et de la couleur à rogner. La méthode utilisée pour calculer la différence de couleur est basée sur la distance des couleurs dans le cube RVB(a).

Utilisé uniquement en mode IMG_CROP_THRESHOLD.

color

Soit une valeur de couleur RVB, soit un index de palette.

Utilisé uniquement en mode IMG_CROP_THRESHOLD.

Valeurs de retour

Retourne la ressource de l'image recadrée en cas de succès ou FALSE si une erreur survient. Si l'image n'est pas rognée ou que l'image complète était complètement rognée cela est traité en comme une erreur. La fonction imagecrop() retourne FALSE.

Exemples

Exemple #1 Rognage automatique correcte

Comme indiqué dans la section valeur de retour, imagecropauto() retourne FALSE quand il n'y a rien à rogner ou l'image entière serait recadrée. Dans cet exemple, nous avons une ressource d'image $im qui ne devrait être automatiquement recadrée que s'il ya quelque chose à rogner; Sinon, nous voulons conserver à l'image originale.

<?php
$cropped 
imagecropauto($imIMG_CROP_DEFAULT);
if (
$cropped !== false) { // Si une nouvelle ressource d'image a été retournée
    
imagedestroy($im);    // nous détruisons l'image originale
    
$im $cropped;       // et assignons l'image recadrée à $im
}
?>

Voir aussi

  • imagecrop() - Recadre une image sur le rectangle donné
add a note add a note

User Contributed Notes 2 notes

up
2
raphael.deiana
1 year 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 :

<?php

$original_img
= 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);

?>
up
0
Ray.Paseur sometimes uses Gmail
10 months ago
Please see the note on ImageCrop() that describes an extraneous black line at the bottom of the cropped image.
http://php.net/manual/en/function.imagecrop.php#119537

Bug 67447 applies to ImageCropAuto(), too.
https://bugs.php.net/bug.php?id=67447
To Top