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 Efectos de imagen

Efectos de imagen

3.x 7 de mar. de 2026

#Brillo, contraste y colores

#Cambiar el brillo de la imagen

public Image::brightness(int $level): ImageInterface

Cambie el brillo de la imagen actual por un nivel dado. Use valores entre -100 para brillo mínimo, 0 para sin cambios y +100 para brillo máximo.

#Parámetros

Nombre Tipo Descripción
level integer Nivel de cambio de brillo

#Ejemplo

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

// crear nueva instancia del gestor con el controlador deseado
$manager = new ImageManager(new Driver());

// leer una imagen
$image = $manager->read('images/example.png');

// aumentar el brillo
$image = $image->brightness(35);

#Cambiar el contraste de la imagen

public Image::contrast(int $level): ImageInterface

Cambie el contraste de la imagen actual por un nivel dado. Use valores entre -100 para contraste mínimo, 0 para sin cambios y +100 para contraste máximo.

#Parámetros

Nombre Tipo Descripción
level integer Nivel de cambio de contraste

#Ejemplo

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

// crear nueva instancia del gestor con el controlador deseado
$manager = new ImageManager(Driver::class);

// leer una imagen
$image = $manager->read('images/example.png');

// disminuir el contraste
$image = $image->contrast(-10);

#Corrección gamma

public Image::gamma(float $gamma): ImageInterface

Aplique una corrección gamma a la imagen actual.

#Parámetros

Nombre Tipo Descripción
gamma float Valor de compensación gamma

#Ejemplo

use Intervention\Image\ImageManager;

// crear nueva instancia del gestor con el controlador deseado
$manager = ImageManager::gd();

// leer una imagen
$image = $manager->read('images/example.jpg');

// aplicar corrección gamma
$image = $image->gamma(1.7);

#Corrección de color

public Image::colorize(int $red = 0, int $green = 0, int $blue = 0): ImageInterface

Cambie el nivel de intensidad de los valores de color rojo, verde y azul proporcionados. Los valores de entrada se normalizan, por lo que debe usar parámetros desde 100 para intensidad máxima del color, 0 para sin cambios y -100 para eliminar por completo ese color de la imagen.

#Parámetros

Nombre Tipo Descripción
red int Corrección de intensidad de todos los colores rojos en la imagen
green int Corrección de intensidad de todos los colores verdes en la imagen
blue int Corrección de intensidad de todos los colores azules en la imagen

#Ejemplo

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

// crear nueva instancia del gestor con el controlador deseado
$manager = ImageManager::withDriver(Driver::class);

// leer una imagen
$image = $manager->read('images/example.jpg');

// cambiar los colores a un tono azul y verde
$image = $image->colorize(blue: 15, green: 10);

#Convertir la imagen a una versión en escala de grises

public Image::greyscale(): ImageInterface

Convierte la imagen actual a una versión en escala de grises.

#Ejemplo

use Intervention\Image\ImageManager;

// crear nueva instancia del gestor con el controlador deseado
$manager = ImageManager::imagick();

// leer una imagen en color
$image = $manager->read('images/example.jpg');

// convertir la imagen a una versión en escala de grises
$image = $image->greyscale();

#Varios efectos

#Reflejar la imagen horizontalmente

public Image::flop(): ImageInterface

Refleje la imagen actual horizontalmente intercambiando la izquierda y la derecha.

#Ejemplo

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

// crear nueva instancia del gestor con el controlador deseado
$manager = new ImageManager(new Driver());

// leer una imagen
$image = $manager->read('images/example.png');

// reflejar la imagen horizontalmente
$image = $image->flop();

#Reflejar la imagen verticalmente

public Image::flip(): ImageInterface

Refleje la imagen actual verticalmente intercambiando la parte superior y la inferior.

#Ejemplo

use Intervention\Image\ImageManager;

// crear nueva instancia del gestor con el controlador deseado
$manager = ImageManager::imagick();

// leer una imagen
$image = $manager->read('images/example.png');

// reflejar la imagen verticalmente
$image = $image->flip();

#Rotación de imagen

public Image::rotate(float $angle, mixed $background = 'ffffff'): ImageInterface

Rote la imagen actual en sentido contrario a las agujas del reloj por el ángulo especificado. Opcionalmente, especifique un color de fondo para rellenar las áreas descubiertas creadas tras la rotación.

#Parámetros

Nombre Tipo Descripción
angle float El ángulo de rotación en grados para rotar la imagen en sentido contrario a las agujas del reloj
background mixed Un color para rellenar las áreas creadas tras la rotación

#Ejemplo

use Intervention\Image\ImageManager;

// crear nueva instancia del gestor con el controlador deseado
$manager = ImageManager::gd();

// leer una imagen
$image = $manager->read('images/example.png');

// rotar la imagen 45 grados en el sentido de las agujas del reloj 
$image = $image->rotate(-45);

#Orientación de la imagen según datos Exif

public Image::orient(): ImageInterface

Este método utiliza los datos Exif para orientar automáticamente las imágenes correctamente. Esta rotación se realiza automáticamente por defecto. Por lo tanto, no necesita llamar a este método a menos que haya desactivado la orientación automática en la configuración de ImageManager.

#Ejemplo

use Intervention\Image\ImageManager;

// crear nueva instancia del gestor sin orientación exif automática
$manager = ImageManager::gd(autoOrientation: false);

// leer la imagen
$image = $manager->read('images/example.jpg');

// orientar la imagen según los datos EXIF
$image = $image->orient();

#Efecto de desenfoque

public Image::blur(int $amount = 5): ImageInterface

Aplica un efecto de desenfoque gaussiano a la imagen actual. Use el argumento opcional amount para especificar la intensidad del efecto con valores entre 0 y 100.

Con el controlador GD este método es intensivo en recursos para valores de desenfoque más altos. Úselo con precaución.

#Parámetros

Nombre Tipo Descripción
amount integer Valor de la intensidad del efecto (0 - 100)

#Ejemplo

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

// crear nueva instancia del gestor con el controlador deseado
$manager = new ImageManager(Driver::class);

// leer una imagen
$image = $manager->read('images/example.png');

// aplicar efecto de desenfoque
$image = $image->blur(3);

#Efecto de nitidez

public Image::sharpen(int $amount = 10): ImageInterface

Aumente la nitidez de la imagen actual mediante el parámetro opcional amount.

#Parámetros

Nombre Tipo Descripción
amount integer La cantidad de intensidad de la nitidez. (0 - 100)

#Ejemplo

use Intervention\Image\ImageManager;

// crear nueva instancia del gestor con el controlador deseado
$manager = ImageManager::imagick();

// leer una imagen
$image = $manager->read('images/example.png');

// aplicar efecto de nitidez
$image = $image->sharpen(3);

#Invertir colores

public Image::invert(): ImageInterface

Invierta todos los colores de la imagen actual.

#Ejemplo

use Intervention\Image\ImageManager;

// crear nueva instancia del gestor con el controlador deseado
$manager = ImageManager::gd();

// leer una imagen
$image = $manager->read('images/example.png');

// invertir los colores
$image = $image->invert();

#Efecto de pixelación

public Image::pixelate(int $size): ImageInterface

Aplica un efecto de pixelación a la imagen actual con un tamaño de píxel dado.

#Parámetros

Nombre Tipo Descripción
size integer Tamaño de los píxeles.

#Ejemplo

use Intervention\Image\ImageManager;

// crear nueva instancia del gestor con el controlador deseado
$manager = ImageManager::withDriver(new Driver());

// leer una imagen
$image = $manager->read('images/example.png');

// aplicar el efecto de pixelado
$image = $image->pixelate(12);

#Reducir colores

public Image::reduceColors(int $limit, mixed $background = 'transparent'): ImageInterface

Aplique cuantización de color a la imagen actual reduciendo el número de colores distintos en la imagen al límite proporcionado. El número de colores se reduce de forma que la nueva imagen sea lo más similar visualmente posible.

Con el controlador GD, los colores (semi)transparentes que pierdan su transparencia como resultado del proceso de reducción se mezclan con el color de fondo indicado.

#Parámetros

Nombre Tipo Descripción
limit integer Número permitido de colores distintos
mixed background Color con el que se mezclan los colores que antes eran semitransparentes

#Ejemplo

use Intervention\Image\ImageManager;

// crear nueva instancia del gestor con el controlador deseado
$manager = ImageManager::imagick();

// leer una imagen
$image = $manager->read('images/example.png');

// cuantizar los colores a un máximo de 16
$image = $image->reduceColors(16);