Imagick::filter

(PECL imagick 3 >= 3.3.0)

Imagick::filterПрименяет пользовательское ядро свёртки к изображению

Внимание

Функция объявлена УСТАРЕВШЕЙ в Imagick 3.4.4. Полагаться на эту функцию крайне не рекомендуется.

Описание

public function Imagick::filter(ImagickKernel $ImagickKernel, int $channel = Imagick::CHANNEL_UNDEFINED): bool

Применяет пользовательское ядро свёртки к изображению.

Список параметров

ImagickKernel

Экземпляр ImagickKernel, представляющий либо одно ядро, либо связанную серию ядер.

channel

Передайте любую корректную для вашего режима канала константу. Для применения к более чем одному каналу, комбинируйте константы каналов с помощью побитовых операторов. По умолчанию равно Imagick::CHANNEL_DEFAULT. Обратитесь к списку констант каналов

Возвращаемые значения

Функция в случае успешной работы возвращает true.

Примеры

Пример #1 Пример использования Imagick::filter()

<?php
function filter($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $matrix = [
        [-1, 0, -1],
        [0,  5,  0],
        [-1, 0, -1],
    ];

    $kernel = \ImagickKernel::fromMatrix($matrix);
    $strength = 0.5;
    $kernel->scale($strength, \Imagick::NORMALIZE_KERNEL_VALUE);
    $kernel->addUnityKernel(1 - $strength);

    $imagick->filter($kernel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>