#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);