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 Configuración y drivers

Configuración y drivers

3.x 7 de mar. de 2026

#Crear una nueva instancia de Image Manager

public ImageManager::__construct(string|DriverInterface $driver, mixed ...$options): ImageManager

El image manager es el punto de partida para todas las operaciones. Con esta clase usted determina el driver a usar, las opciones de configuración y llama a los métodos necesarios para leer imágenes desde diferentes fuentes.

#Selección del driver

El driver determina qué biblioteca de imágenes de PHP se utiliza internamente. Intervention Image es una API universal para varias extensiones de imagen de bajo nivel en PHP y actualmente incluye dos drivers diferentes. Dependiendo de su instalación de PHP, deberá elegir uno de ellos.

#Driver para la biblioteca GD

GD se incluye por defecto en muchas instalaciones, pero tiene la desventaja de carecer de capacidades avanzadas de procesamiento de imágenes, como el soporte para distintos espacios de color. GD también descarta cualquier dato Exif en el proceso de codificación. El driver para GD está incluido por defecto.

  • Intervention\Image\Drivers\Gd\Driver

#Driver para Imagick

Imagick es una extensión de PHP que proporciona enlaces a la biblioteca ImageMagick, una herramienta de procesamiento de imágenes popular y potente. En mi experiencia, esta extensión suele ofrecer resultados de mayor calidad que GD. El driver está incluido por defecto.

  • Intervention\Image\Drivers\Imagick\Driver

#Driver para libvips

libvips es una biblioteca de procesamiento de imágenes rápida y de bajo consumo de memoria que supera a todas las demás bibliotecas de extensiones de imagen para PHP. El soporte para esta biblioteca de procesamiento está disponible a través del controlador oficial para usar Intervention Image con libvips, que puede instalarse adicionalmente.

  • Intervention\Image\Drivers\Vips\Driver

#Opciones de configuración

Opcionalmente, es posible pasar parámetros de configuración adicionales al constructor que determinan el comportamiento de la biblioteca.

Estos parámetros afectan cómo la biblioteca maneja la orientación de la imagen según los datos Exif, si las animaciones se decodifican o se descartan, y cuál es el color de fusión predeterminado.

#Parámetros

Nombre Tipo Descripción
driver string or DriverInterface Instancia del driver de Image Manager o nombre de la clase del driver
autoOrientation bool (opcional) Determina si la imagen debe alinearse automáticamente según los datos Exif. Predeterminado: true
decodeAnimation bool (opcional) Indica si una imagen posiblemente animada se decodifica como tal o si la animación se descarta. Predeterminado: true
blendingColor mixed (opcional) El color de fusión predeterminado. Predeterminado: ffffff
strip bool (opcional) Determina si los metadatos de la imagen deben eliminarse en el proceso de codificación. Predeterminado: false

#Ejemplo

use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Imagick\Driver;

// Crear una nueva instancia de ImageManager con el Driver deseado y la configuración por defecto
$manager = new ImageManager(new Driver());

// Alternativamente crear una nueva instancia de ImageManager por nombre de clase y con la configuración por defecto
$manager = new ImageManager(Driver::class);

// Misma llamada con opciones de configuración
$manager = new ImageManager(
    Driver::class,
    autoOrientation: false,
    decodeAnimation: true,
    blendingColor: 'ff5500',
    strip: false
);

#Crear una nueva instancia de Image Manager con métodos auxiliares estáticos

#Constructor estático

public static ImageManager::withDriver(string|DriverInterface $driver, mixed ...$options): ImageManager

El método auxiliar estático funciona de la misma manera que el constructor y acepta tanto el nombre de una clase como una instancia del driver y, opcionalmente, parámetros de configuración.

Consulte las opciones posibles de configuración.

#Parámetros

Nombre Tipo Descripción
driver string or DriverInterface Instancia del driver de Image Manager o nombre de la clase del driver
options mixed Parámetros de configuración opcionales

#Ejemplo

use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Imagick\Driver;

// Crear una nueva instancia de ImageManager con el Driver deseado
$manager = ImageManager::withDriver(new Driver());

// o crear una nueva instancia de ImageManager por nombre de clase
$manager = ImageManager::withDriver(Driver::class);

// Misma llamada con opciones de configuración
$manager = ImageManager::withDriver(
    Driver::class,
    autoOrientation: true,
    decodeAnimation: true,
    blendingColor: 'ff5500',
    strip: true
);

#Constructor estático para GD

public static ImageManager::gd(mixed ...$options): ImageManager

Este método auxiliar estático para el driver GD crea una nueva instancia del Image Manager directamente, sin argumentos ni opciones de configuración.

Consulte las opciones posibles de configuración.

#Parámetros

Nombre Tipo Descripción
options mixed Parámetros de configuración opcionales

#Ejemplo

use Intervention\Image\ImageManager;

// Crear un nuevo ImageManager con el driver gd
$manager = ImageManager::gd();

// Misma llamada con opciones de configuración
$manager = ImageManager::gd(autoOrientation: false);

#Constructor estático para Imagick

public static ImageManager::imagick(mixed ...$options): ImageManager

Este método auxiliar estático no toma argumentos y crea directamente una nueva instancia del Image Manager con el driver Imagick.

Consulte las opciones posibles de configuración.

#Parámetros

Nombre Tipo Descripción
options mixed Parámetros de configuración opcionales

#Ejemplo

use Intervention\Image\ImageManager;

// Crear un nuevo ImageManager con el driver imagick
$manager = ImageManager::imagick();

// Misma llamada con opciones de configuración
$manager = ImageManager::imagick(blendingColor: 'fff000');

#Acceder al driver del Image Manager

public ImageManager::driver(): DriverInterface

Como ya se describió, el Image Manager se crea con una instancia del driver como dependencia. Esta función garantiza que pueda accederse a él en un momento posterior.

#Ejemplo

use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Gd\Driver;

// Crear ImageManager con el Driver
$manager = new ImageManager(new Driver());

// Acceder al Driver desde ImageManager
$driver = $manager->driver();

Lea más sobre los diferentes métodos del image manager en la sección de instanciación