Estamos actualizando el sitio. Durante unos días es posible que veas fallos de diseño o de traducción. La documentación sigue disponible: si una página se ve mal, recárgala más tarde.

Inicio image 3.x Modificadores personalizados

Modificadores personalizados

3.x 7 de mar. de 2026

Todas las llamadas de modificador pueden almacenarse como una combinación en una clase de modificador de imagen personalizada. Este modificador define qué comandos deben aplicarse a una instancia de imagen, en qué orden y con qué argumentos. Así resulta sencillo combinar transformaciones complejas en una única llamada reutilizable.

Intervention Image proporciona la sencilla Intervention\Image\Interfaces\ModifierInterface, que todos los modificadores deben implementar.

Una vez que haya creado su propio modificador, puede aplicarlo usando el método modify().

#Implementación de un modificador personalizado

El siguiente ejemplo muy sencillo muestra una clase de modificador personalizado que combina un efecto de escala de grises y de pixelado.

use Intervention\Image\Interfaces\ModifierInterface;
use Intervention\Image\Interfaces\ImageInterface;

class MyCustomModifier implements ModifierInterface
{
    protected $size;

    public function __construct(int $size)
    {
        $this->size = $size;
    }

    public function apply(ImageInterface $image): ImageInterface
    {
        $image->pixelate($this->size);
        $image->greyscale();

        return $image;
    }
}

#Aplicar modificadores personalizados

Una vez implementado el modificador personalizado, puede aplicarlo fácilmente a una instancia de imagen.

public Image::modify(ModifierInterface $modifier): ImageInterface

#Parámetros

Name Type Description
modifier Intervention\Image\Interfaces\ModifierInterface Instancia del modificador

#Ejemplo

use Intervention\Image\ImageManager;

// crear una nueva instancia de imagen
$image = ImageManager::imagick()->read('images/example.jpg');

// aplicar modificador
$image->modify(new MyCustomModifier(25));