#Яркость, контраст и цвета
#Изменение яркости изображения
public Image::brightness(int $level): ImageInterface
Изменяет яркость текущего изображения на заданный уровень. Используйте значения между -100 для минимальной яркости, 0 для отсутствия изменений и +100 для максимальной яркости.
#Параметры
| Name | Type | Description |
|---|---|---|
| level | integer | Уровень изменения яркости |
#Пример
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Imagick\Driver;
// создать новый экземпляр менеджера с указанным драйвером
$manager = new ImageManager(new Driver());
// прочитать изображение
$image = $manager->read('images/example.png');
// увеличить яркость
$image = $image->brightness(35);
#Изменение контрастности изображения
public Image::contrast(int $level): ImageInterface
Изменяет контраст текущего изображения на заданный уровень. Используйте значения между -100 для минимальной контрастности, 0 для отсутствия изменений и +100 для максимальной контрастности.
#Параметры
| Name | Type | Description |
|---|---|---|
| level | integer | Уровень изменения контрастности |
#Пример
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Gd\Driver;
// создать новый экземпляр менеджера с указанным драйвером
$manager = new ImageManager(Driver::class);
// прочитать изображение
$image = $manager->read('images/example.png');
// уменьшить контраст
$image = $image->contrast(-10);
#Гамма-коррекция
public Image::gamma(float $gamma): ImageInterface
Применяет гамма-коррекцию к текущему изображению.
#Параметры
| Name | Type | Description |
|---|---|---|
| gamma | float | Значение гамма-компенсации |
#Пример
use Intervention\Image\ImageManager;
// создать новый экземпляр менеджера с указанным драйвером
$manager = ImageManager::gd();
// прочитать изображение
$image = $manager->read('images/example.jpg');
// применить гамма-коррекцию
$image = $image->gamma(1.7);
#Коррекция цвета
public Image::colorize(int $red = 0, int $green = 0, int $blue = 0): ImageInterface
Изменяет уровень интенсивности заданных значений красного, зелёного и синего цветов. Входные значения нормализуются: используйте значения от 100 для максимальной интенсивности цвета, 0 для отсутствия изменений и -100 для полного удаления данного цвета из изображения.
#Параметры
| Name | Type | Description |
|---|---|---|
| red | int | Коррекция интенсивности всех красных цветов на изображении |
| green | int | Коррекция интенсивности всех зелёных цветов на изображении |
| blue | int | Коррекция интенсивности всех синих цветов на изображении |
#Пример
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Gd\Driver;
// создать новый экземпляр менеджера с указанным драйвером
$manager = ImageManager::withDriver(Driver::class);
// прочитать изображение
$image = $manager->read('images/example.jpg');
// придать цветам синий и зелёный оттенки
$image = $image->colorize(blue: 15, green: 10);
#Преобразовать изображение в оттенки серого
public Image::greyscale(): ImageInterface
Преобразует текущее изображение в оттенки серого.
#Пример
use Intervention\Image\ImageManager;
// создать новый экземпляр менеджера с указанным драйвером
$manager = ImageManager::imagick();
// прочитать цветное изображение
$image = $manager->read('images/example.jpg');
// преобразовать изображение в оттенки серого
$image = $image->greyscale();
#Различные эффекты
#Горизонтальное зеркалирование изображения
public Image::flop(): ImageInterface
Отзеркаливает текущее изображение по горизонтали, меняя местами левую и правую части.
#Пример
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Imagick\Driver;
// создать новый экземпляр менеджера с указанным драйвером
$manager = new ImageManager(new Driver());
// прочитать изображение
$image = $manager->read('images/example.png');
// отразить изображение по горизонтали
$image = $image->flop();
#Вертикальное зеркалирование изображения
public Image::flip(): ImageInterface
Отзеркаливает текущее изображение по вертикали, меняя местами верхнюю и нижнюю части.
#Пример
use Intervention\Image\ImageManager;
// создать новый экземпляр менеджера с указанным драйвером
$manager = ImageManager::imagick();
// прочитать изображение
$image = $manager->read('images/example.png');
// отразить изображение по вертикали
$image = $image->flip();
#Вращение изображения
public Image::rotate(float $angle, mixed $background = 'ffffff'): ImageInterface
Поворачивает текущее изображение против часовой стрелки на указанный угол. При желании можно указать цвет фона для заполнения появившихся после поворота открытых областей.
#Параметры
| Name | Type | Description |
|---|---|---|
| angle | float | Угол поворота в градусах для поворота изображения против часовой стрелки |
| background | mixed | Цвет для заполнения появившихся областей после поворота |
#Пример
use Intervention\Image\ImageManager;
// создать новый экземпляр менеджера с указанным драйвером
$manager = ImageManager::gd();
// прочитать изображение
$image = $manager->read('images/example.png');
// повернуть изображение на 45 градусов по часовой стрелке
$image = $image->rotate(-45);
#Ориентация изображения по данным Exif
public Image::orient(): ImageInterface
Этот метод использует данные Exif для автоматической корректной ориентации изображений. По умолчанию этот поворот выполняется автоматически. Поэтому вы не должны вызывать этот метод, если не отключили автоориентацию в конфигурации ImageManager.
#Пример
use Intervention\Image\ImageManager;
// создать новый экземпляр менеджера без автоматической ориентации по EXIF
$manager = ImageManager::gd(autoOrientation: false);
// прочитать изображение
$image = $manager->read('images/example.jpg');
// ориентировать изображение в соответствии с данными EXIF
$image = $image->orient();
#Эффект размытия
public Image::blur(int $amount = 5): ImageInterface
Применяет гауссово размытие к текущему изображению. Используйте необязательный аргумент amount, чтобы задать силу эффекта значениями между 0 и 100.
С драйвером GD этот метод требует много ресурсов при больших значениях размытия. Используйте с осторожностью.
#Параметры
| Name | Type | Description |
|---|---|---|
| amount | integer | Значение силы эффекта (0 - 100) |
#Пример
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Gd\Driver;
// создать новый экземпляр менеджера с указанным драйвером
$manager = new ImageManager(Driver::class);
// прочитать изображение
$image = $manager->read('images/example.png');
// применить эффект размытия
$image = $image->blur(3);
#Эффект повышения резкости
public Image::sharpen(int $amount = 10): ImageInterface
Повышает резкость текущего изображения с помощью необязательного параметра amount.
#Параметры
| Name | Type | Description |
|---|---|---|
| amount | integer | Степень силы повышения резкости. (0 - 100) |
#Пример
use Intervention\Image\ImageManager;
// создать новый экземпляр менеджера с указанным драйвером
$manager = ImageManager::imagick();
// прочитать изображение
$image = $manager->read('images/example.png');
// применить эффект повышения резкости
$image = $image->sharpen(3);
#Инвертирование цветов
public Image::invert(): ImageInterface
Инвертирует все цвета текущего изображения.
#Пример
use Intervention\Image\ImageManager;
// создать новый экземпляр менеджера с указанным драйвером
$manager = ImageManager::gd();
// прочитать изображение
$image = $manager->read('images/example.png');
// инвертировать цвета
$image = $image->invert();
#Эффект пикселизации
public Image::pixelate(int $size): ImageInterface
Применяет эффект пикселизации к текущему изображению с заданным размером пикселя.
#Параметры
| Name | Type | Description |
|---|---|---|
| size | integer | Размер пикселей. |
#Пример
use Intervention\Image\ImageManager;
// создать новый экземпляр менеджера с указанным драйвером
$manager = ImageManager::withDriver(new Driver());
// прочитать изображение
$image = $manager->read('images/example.png');
// применить эффект пикселизации
$image = $image->pixelate(12);
#Уменьшение количества цветов
public Image::reduceColors(int $limit, mixed $background = 'transparent'): ImageInterface
Применяет цветовое квантование к текущему изображению, уменьшая количество различных цветов до указанного лимита. Сокращение числа цветов выполняется так, чтобы итоговое изображение было максимально визуально похожим на оригинал.
С драйвером GD полупрозрачные цвета, которые теряют прозрачность в результате процесса уменьшения, смешиваются с указанным цветом фона.
#Параметры
| Name | Type | Description |
|---|---|---|
| limit | integer | Разрешённое число различных цветов |
| mixed | background | Цвет, с которым смешиваются ранее полупрозрачные цвета |
#Пример
use Intervention\Image\ImageManager;
// создать новый экземпляр менеджера с указанным драйвером
$manager = ImageManager::imagick();
// прочитать изображение
$image = $manager->read('images/example.png');
// сократить число цветов до максимум 16
$image = $image->reduceColors(16);