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

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

Пользовательские модификаторы

3.x 7 мар 2026 г.

Все вызовы модификаторов можно объединить в пользовательском классе модификатора изображения. Этот модификатор определяет, какие команды должны применяться к экземпляру изображения, в каком порядке и с какими аргументами. Это упрощает объединение сложных преобразований в единый повторно используемый вызов.

Intervention Image предоставляет простой Intervention\Image\Interfaces\ModifierInterface, который должны реализовывать все модификаторы.

После того как вы создадите собственный модификатор, вы можете применить его с помощью метода modify().

#Реализация пользовательского модификатора

В следующем простом примере показан пользовательский класс модификатора, который объединяет эффекты оттенков серого и пикселизации.

use Intervention\Image\Interfaces\ModifierInterface;
use Intervention\Image\Interfaces\ImageInterface;

class MyCustomModifier implements ModifierInterface
{
    protected $size;

    public function __construct(int $size)
    {
        $this->size = $size;
    }

    public function apply(ImageInterface $image): ImageInterface
    {
        $image->pixelate($this->size);
        $image->greyscale();

        return $image;
    }
}

#Применение пользовательских модификаторов

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

public Image::modify(ModifierInterface $modifier): ImageInterface

#Параметры

Имя Тип Описание
modifier Intervention\Image\Interfaces\ModifierInterface Объект модификатора

#Пример

use Intervention\Image\ImageManager;

// создать новый экземпляр изображения
$image = ImageManager::imagick()->read('images/example.jpg');

// применить модификатор
$image->modify(new MyCustomModifier(25));