Идёт обновление сайта. Несколько дней возможны сбои в оформлении и переводах. Документация работает — если страница выглядит сломанной, обновите её позже.

Документация
L Laravel L intervention/image
Войти
Главная image 3.x Конфигурация и драйверы

Конфигурация и драйверы

3.x 7 мар 2026 г.

#Создание нового экземпляра Image Manager

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

Менеджер изображений — отправная точка для всех операций. С помощью этого класса вы определяете используемый драйвер, параметры конфигурации и вызываете методы, необходимые для чтения изображений из разных источников.

#Выбор драйвера

Драйвер определяет, какая PHP-библиотека для работы с изображениями используется «под капотом». Intervention Image предоставляет универсальный API для различных низкоуровневых PHP-расширений для работы с изображениями и в настоящее время поставляется с двумя разными драйверами. В зависимости от вашей установки PHP вы выбираете один из них.

#Драйвер для библиотеки GD

GD по умолчанию включена во многих инсталляциях, но имеет недостаток — отсутствие продвинутых возможностей обработки изображений, таких как поддержка разных цветовых пространств. GD также отбрасывает любые данные Exif в процессе кодирования. Драйвер для GD включён по умолчанию.

  • Intervention\Image\Drivers\Gd\Driver

#Драйвер для Imagick

Imagick — это расширение PHP, предоставляющее привязки к библиотеке ImageMagick, популярному и мощному инструменту для обработки изображений. На практике это расширение часто даёт более качественные результаты, чем GD. Драйвер включён по умолчанию.

  • Intervention\Image\Drivers\Imagick\Driver

#Драйвер для libvips

libvips — быстрая и экономная по памяти библиотека для обработки изображений, превосходящая по производительности другие PHP-расширения для работы с изображениями. Поддержка этой библиотеки доступна через официальный драйвер для использования Intervention Image с libvips, который можно установить дополнительно.

  • Intervention\Image\Drivers\Vips\Driver

#Параметры конфигурации

При желании в конструктор можно передать дополнительные подробные параметры конфигурации, которые определяют поведение библиотеки.

Эти параметры влияют на то, как библиотека обрабатывает ориентацию изображения согласно Exif-данным, будут ли анимации декодироваться или отбрасываться, и какой будет цвет смешивания по умолчанию.

#Параметры

Имя Тип Описание
driver string or DriverInterface Экземпляр драйвера Image Manager или имя класса драйвера
autoOrientation bool (необязательно) Решает, следует ли автоматически выравнивать изображение на основе Exif-данных. По умолчанию: true
decodeAnimation bool (необязательно) Будет ли потенциально анимированное изображение декодировано как анимация или анимация будет отброшена. По умолчанию: true
blendingColor mixed (необязательно) Цвет смешивания по умолчанию. По умолчанию: ffffff
strip bool (необязательно) Решает, следует ли удалять метаданные изображения в процессе кодирования. По умолчанию: false

#Пример

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

// создать новый экземпляр менеджера с выбранным драйвером и конфигурацией по умолчанию
$manager = new ImageManager(new Driver());

// альтернативно создать новый экземпляр менеджера по имени класса и конфигурации по умолчанию
$manager = new ImageManager(Driver::class);

// тот же вызов с опциями конфигурации
$manager = new ImageManager(
    Driver::class,
    autoOrientation: false,
    decodeAnimation: true,
    blendingColor: 'ff5500',
    strip: false
);

#Создание нового экземпляра Image Manager с помощью статических вспомогательных методов

#Статический конструктор

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

Статический вспомогательный метод работает так же, как конструктор: он принимает либо имя класса драйвера, либо экземпляр драйвера и опционально параметры конфигурации.

См. возможные параметры конфигурации.

#Параметры

Имя Тип Описание
driver string or DriverInterface Экземпляр драйвера Image Manager или имя класса драйвера
options mixed Необязательные параметры конфигурации

#Пример

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

// создать новый экземпляр менеджера с выбранным драйвером
$manager = ImageManager::withDriver(new Driver());

// или создать новый менеджер по имени класса
$manager = ImageManager::withDriver(Driver::class);

// тот же вызов с опциями конфигурации
$manager = ImageManager::withDriver(
    Driver::class,
    autoOrientation: true,
    decodeAnimation: true,
    blendingColor: 'ff5500',
    strip: true
);

#Статический конструктор драйвера GD

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

Этот статический вспомогательный метод для драйвера GD создаёт новый экземпляр Image Manager, который можно вызывать без аргументов или с необязательными параметрами конфигурации.

См. возможные параметры конфигурации.

#Параметры

Имя Тип Описание
options mixed Необязательные параметры конфигурации

#Пример

use Intervention\Image\ImageManager;

// создать новый менеджер изображений с драйвером gd
$manager = ImageManager::gd();

// тот же вызов с опциями конфигурации
$manager = ImageManager::gd(autoOrientation: false);

#Статический конструктор драйвера Imagick

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

Этот статический вспомогательный метод не принимает аргументов и напрямую создаёт новый экземпляр Image Manager с драйвером Imagick.

См. возможные параметры конфигурации.

#Параметры

Имя Тип Описание
options mixed Необязательные параметры конфигурации

#Пример

use Intervention\Image\ImageManager;

// создать новый менеджер изображений с драйвером imagick
$manager = ImageManager::imagick();

// тот же вызов с опциями конфигурации
$manager = ImageManager::imagick(blendingColor: 'fff000');

#Доступ к драйверу Image Manager

public ImageManager::driver(): DriverInterface

Как уже было описано, Image Manager создаётся с экземпляром драйвера в качестве зависимости. Эта функция позволяет получить доступ к драйверу позднее.

#Пример

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

// создать менеджер изображений с драйвером
$manager = new ImageManager(new Driver());

// получить драйвер из менеджера изображений
$driver = $manager->driver();

Подробнее о различных методах менеджера изображений читайте в разделе об инстанцировании