(PHP 5 >= 5.5.0, PHP 7, PHP 8)
imagecropauto — Recorta una imagen automáticamente utilizando uno de los modos disponibles
$image
,$mode
= IMG_CROP_DEFAULT
,$threshold
= 0.5,$color
= -1
Recorta automáticamente una imagen según el mode
.
image
Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().
mode
Una constante entre:
IMG_CROP_DEFAULT
IMG_CROP_TRANSPARENT
.
Anterior a PHP 7.4.0, la biblioteca libgd integrada utilizaba
IMG_CROP_SIDES
como solución de respaldo,
si la imagen no tenía color de transparencia.
IMG_CROP_TRANSPARENT
IMG_CROP_BLACK
IMG_CROP_WHITE
IMG_CROP_SIDES
IMG_CROP_THRESHOLD
threshold
y
color
.
threshold
Especifica la tolerancia en porcentaje a utilizar durante la comparación de la color de la imagen y la color a recortar. El método utilizado para calcular la diferencia de color se basa en la distancia de colores en el cubo RVB(a).
Utilizado únicamente en modo IMG_CROP_THRESHOLD
.
Nota: Anterior a PHP 7.4.0, la biblioteca libgd integrada utilizaba un algoritmo algo diferente, por lo que el mismo
threshold
producía resultados diferentes para libgd sistema e integrado.
color
Puede ser un valor de color RVB o un índice de paleta.
Utilizado únicamente en modo IMG_CROP_THRESHOLD
.
Devuelve el objeto de la imagen recortada en caso de éxito o false
en caso de error.
false
también será devuelto si toda la imagen ha sido recortada.
Versión | Descripción |
---|---|
8.0.0 |
image expects a GdImage
instance now; previously, a valid gd resource was expected.
|
8.0.0 | En caso de éxito, esta función devuelve ahora una instancia de GDImage; anteriormente, se devolvía un resource. |
7.4.0 |
El comportamiento de imagecropauto de la biblioteca libgd integrada ha sido
sincronizado con la de libgd sistema: IMG_CROP_DEFAULT
ya no utiliza IMG_CROP_SIDES como solución de respaldo y
la tolerancia de recorte utiliza ahora el mismo algoritmo que libgd sistema.
|
7.4.0 |
El valor por omisión de mode ha sido modificado a
IMG_CROP_AUTO . Anteriormente, el valor por omisión era
-1 que corresponde a IMG_CROP_DEFAULT ,
pero pasar -1 está ahora obsoleto.
|
Ejemplo #1 Recorte automático correcto
Como se indica en la sección valor de retorno, imagecropauto()
devuelve false
si toda la imagen ha sido recortada. En este ejemplo, tenemos
un objeto de imagen $im
que solo debería ser
automáticamente recortado si hay algo que recortar; de lo contrario,
se desea conservar la imagen original.
<?php
$cropped = imagecropauto($im, IMG_CROP_DEFAULT);
if ($cropped !== false) { // Si se ha devuelto un nuevo objeto de imagen
$im = $cropped; // y asigna la imagen recortada a $im
}
?>